packages feed

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

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

// ================== function "casadi::casadi_abs" ===============
// cppName: "casadi::casadi_abs"
// cWrapperName: "casadi_abs__0"
// protoArgs: "(std::string ** err_msg, double* x0)"
// params: [(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_abs__0(std::string ** err_msg, double* x0)"
// friendWrap: True
// fName: "casadi_abs"
// call: "        double ret = abs(x0_);"
extern "C"
double
    casadi_abs__0(std::string ** err_msg, double* x0);
double
    casadi_abs__0(std::string ** err_msg, double* x0){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);

        double ret = abs(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;
    }
}


// ================== function "casadi::casadi_abs" ===============
// cppName: "casadi::casadi_abs"
// cWrapperName: "casadi_abs__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_abs__1(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_abs"
// call: "        casadi::SX ret = abs(x0_);"
extern "C"
casadi::SX*
    casadi_abs__1(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_abs__1(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = abs(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;
    }
}


// ================== function "casadi::casadi_abs" ===============
// cppName: "casadi::casadi_abs"
// cWrapperName: "casadi_abs__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_abs__2(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_abs"
// call: "        casadi::DM ret = abs(x0_);"
extern "C"
casadi::DM*
    casadi_abs__2(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_abs__2(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = abs(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;
    }
}


// ================== function "casadi::casadi_abs" ===============
// cppName: "casadi::casadi_abs"
// cWrapperName: "casadi_abs__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_abs__3(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_abs"
// call: "        casadi::IM ret = abs(x0_);"
extern "C"
casadi::IM*
    casadi_abs__3(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_abs__3(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = abs(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;
    }
}


// ================== function "casadi::casadi_abs" ===============
// cppName: "casadi::casadi_abs"
// cWrapperName: "casadi_abs__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_abs__4(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_abs"
// call: "        casadi::MX ret = abs(x0_);"
extern "C"
casadi::MX*
    casadi_abs__4(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_abs__4(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = abs(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;
    }
}


// ================== function "casadi::casadi_acos" ===============
// cppName: "casadi::casadi_acos"
// cWrapperName: "casadi_acos__0"
// protoArgs: "(std::string ** err_msg, double* x0)"
// params: [(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_acos__0(std::string ** err_msg, double* x0)"
// friendWrap: True
// fName: "casadi_acos"
// call: "        double ret = acos(x0_);"
extern "C"
double
    casadi_acos__0(std::string ** err_msg, double* x0);
double
    casadi_acos__0(std::string ** err_msg, double* x0){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);

        double ret = acos(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;
    }
}


// ================== function "casadi::casadi_acos" ===============
// cppName: "casadi::casadi_acos"
// cWrapperName: "casadi_acos__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_acos__1(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_acos"
// call: "        casadi::SX ret = acos(x0_);"
extern "C"
casadi::SX*
    casadi_acos__1(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_acos__1(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = acos(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;
    }
}


// ================== function "casadi::casadi_acos" ===============
// cppName: "casadi::casadi_acos"
// cWrapperName: "casadi_acos__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_acos__2(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_acos"
// call: "        casadi::DM ret = acos(x0_);"
extern "C"
casadi::DM*
    casadi_acos__2(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_acos__2(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = acos(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;
    }
}


// ================== function "casadi::casadi_acos" ===============
// cppName: "casadi::casadi_acos"
// cWrapperName: "casadi_acos__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_acos__3(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_acos"
// call: "        casadi::IM ret = acos(x0_);"
extern "C"
casadi::IM*
    casadi_acos__3(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_acos__3(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = acos(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;
    }
}


// ================== function "casadi::casadi_acos" ===============
// cppName: "casadi::casadi_acos"
// cWrapperName: "casadi_acos__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_acos__4(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_acos"
// call: "        casadi::MX ret = acos(x0_);"
extern "C"
casadi::MX*
    casadi_acos__4(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_acos__4(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = acos(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;
    }
}


// ================== function "casadi::casadi_acosh" ===============
// cppName: "casadi::casadi_acosh"
// cWrapperName: "casadi_acosh__0"
// protoArgs: "(std::string ** err_msg, double* x0)"
// params: [(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_acosh__0(std::string ** err_msg, double* x0)"
// friendWrap: True
// fName: "casadi_acosh"
// call: "        double ret = acosh(x0_);"
extern "C"
double
    casadi_acosh__0(std::string ** err_msg, double* x0);
double
    casadi_acosh__0(std::string ** err_msg, double* x0){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);

        double ret = acosh(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;
    }
}


// ================== function "casadi::casadi_acosh" ===============
// cppName: "casadi::casadi_acosh"
// cWrapperName: "casadi_acosh__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_acosh__1(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_acosh"
// call: "        casadi::SX ret = acosh(x0_);"
extern "C"
casadi::SX*
    casadi_acosh__1(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_acosh__1(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = acosh(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;
    }
}


// ================== function "casadi::casadi_acosh" ===============
// cppName: "casadi::casadi_acosh"
// cWrapperName: "casadi_acosh__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_acosh__2(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_acosh"
// call: "        casadi::DM ret = acosh(x0_);"
extern "C"
casadi::DM*
    casadi_acosh__2(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_acosh__2(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = acosh(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;
    }
}


// ================== function "casadi::casadi_acosh" ===============
// cppName: "casadi::casadi_acosh"
// cWrapperName: "casadi_acosh__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_acosh__3(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_acosh"
// call: "        casadi::IM ret = acosh(x0_);"
extern "C"
casadi::IM*
    casadi_acosh__3(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_acosh__3(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = acosh(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;
    }
}


// ================== function "casadi::casadi_acosh" ===============
// cppName: "casadi::casadi_acosh"
// cWrapperName: "casadi_acosh__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_acosh__4(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_acosh"
// call: "        casadi::MX ret = acosh(x0_);"
extern "C"
casadi::MX*
    casadi_acosh__4(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_acosh__4(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = acosh(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;
    }
}


// ================== function "casadi::casadi_adj" ===============
// cppName: "casadi::casadi_adj"
// cWrapperName: "casadi_adj__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_adj__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_adj"
// call: "        casadi::SX ret = adj(x0_);"
extern "C"
casadi::SX*
    casadi_adj__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_adj__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = adj(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;
    }
}


// ================== function "casadi::casadi_adj" ===============
// cppName: "casadi::casadi_adj"
// cWrapperName: "casadi_adj__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_adj__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_adj"
// call: "        casadi::DM ret = adj(x0_);"
extern "C"
casadi::DM*
    casadi_adj__1(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_adj__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = adj(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;
    }
}


// ================== function "casadi::casadi_adj" ===============
// cppName: "casadi::casadi_adj"
// cWrapperName: "casadi_adj__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_adj__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_adj"
// call: "        casadi::IM ret = adj(x0_);"
extern "C"
casadi::IM*
    casadi_adj__2(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_adj__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = adj(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;
    }
}


// ================== function "casadi::casadi_all" ===============
// cppName: "casadi::casadi_all"
// cWrapperName: "casadi_all__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_all__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_all"
// call: "        casadi::SX ret = all(x0_);"
extern "C"
casadi::SX*
    casadi_all__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_all__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = all(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;
    }
}


// ================== function "casadi::casadi_all" ===============
// cppName: "casadi::casadi_all"
// cWrapperName: "casadi_all__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_all__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_all"
// call: "        casadi::DM ret = all(x0_);"
extern "C"
casadi::DM*
    casadi_all__1(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_all__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = all(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;
    }
}


// ================== function "casadi::casadi_all" ===============
// cppName: "casadi::casadi_all"
// cWrapperName: "casadi_all__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_all__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_all"
// call: "        casadi::IM ret = all(x0_);"
extern "C"
casadi::IM*
    casadi_all__2(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_all__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = all(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;
    }
}


// ================== function "casadi::casadi_and" ===============
// cppName: "casadi::casadi_and"
// cWrapperName: "casadi_and__0"
// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_, x1_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_and__0(std::string ** err_msg, double* x0, double* x1)"
// friendWrap: True
// fName: "casadi_and"
// call: "        double ret = x0_ && x1_;"
extern "C"
double
    casadi_and__0(std::string ** err_msg, double* x0, double* x1);
double
    casadi_and__0(std::string ** err_msg, double* x0, double* x1){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);
        double& x1_ = Marshaling<double&,double*>::marshal(x1);

        double ret = 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;
    }
}


// ================== function "casadi::casadi_and" ===============
// cppName: "casadi::casadi_and"
// cWrapperName: "casadi_and__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_and__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_and"
// call: "        casadi::SX ret = x0_ && x1_;"
extern "C"
casadi::SX*
    casadi_and__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_and__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = 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;
    }
}


// ================== function "casadi::casadi_and" ===============
// cppName: "casadi::casadi_and"
// cWrapperName: "casadi_and__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_and__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_and"
// call: "        casadi::DM ret = x0_ && x1_;"
extern "C"
casadi::DM*
    casadi_and__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_and__2(std::string ** err_msg, 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 = 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;
    }
}


// ================== function "casadi::casadi_and" ===============
// cppName: "casadi::casadi_and"
// cWrapperName: "casadi_and__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_and__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_and"
// call: "        casadi::IM ret = x0_ && x1_;"
extern "C"
casadi::IM*
    casadi_and__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_and__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = 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;
    }
}


// ================== function "casadi::casadi_and" ===============
// cppName: "casadi::casadi_and"
// cWrapperName: "casadi_and__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_and__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_and"
// call: "        casadi::MX ret = x0_ && x1_;"
extern "C"
casadi::MX*
    casadi_and__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi_and__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = 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;
    }
}


// ================== function "casadi::casadi_any" ===============
// cppName: "casadi::casadi_any"
// cWrapperName: "casadi_any__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_any__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_any"
// call: "        casadi::SX ret = any(x0_);"
extern "C"
casadi::SX*
    casadi_any__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_any__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = any(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;
    }
}


// ================== function "casadi::casadi_any" ===============
// cppName: "casadi::casadi_any"
// cWrapperName: "casadi_any__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_any__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_any"
// call: "        casadi::DM ret = any(x0_);"
extern "C"
casadi::DM*
    casadi_any__1(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_any__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = any(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;
    }
}


// ================== function "casadi::casadi_any" ===============
// cppName: "casadi::casadi_any"
// cWrapperName: "casadi_any__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_any__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_any"
// call: "        casadi::IM ret = any(x0_);"
extern "C"
casadi::IM*
    casadi_any__2(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_any__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = any(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;
    }
}


// ================== function "casadi::casadi_asin" ===============
// cppName: "casadi::casadi_asin"
// cWrapperName: "casadi_asin__0"
// protoArgs: "(std::string ** err_msg, double* x0)"
// params: [(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_asin__0(std::string ** err_msg, double* x0)"
// friendWrap: True
// fName: "casadi_asin"
// call: "        double ret = asin(x0_);"
extern "C"
double
    casadi_asin__0(std::string ** err_msg, double* x0);
double
    casadi_asin__0(std::string ** err_msg, double* x0){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);

        double ret = asin(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;
    }
}


// ================== function "casadi::casadi_asin" ===============
// cppName: "casadi::casadi_asin"
// cWrapperName: "casadi_asin__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_asin__1(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_asin"
// call: "        casadi::SX ret = asin(x0_);"
extern "C"
casadi::SX*
    casadi_asin__1(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_asin__1(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = asin(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;
    }
}


// ================== function "casadi::casadi_asin" ===============
// cppName: "casadi::casadi_asin"
// cWrapperName: "casadi_asin__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_asin__2(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_asin"
// call: "        casadi::DM ret = asin(x0_);"
extern "C"
casadi::DM*
    casadi_asin__2(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_asin__2(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = asin(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;
    }
}


// ================== function "casadi::casadi_asin" ===============
// cppName: "casadi::casadi_asin"
// cWrapperName: "casadi_asin__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_asin__3(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_asin"
// call: "        casadi::IM ret = asin(x0_);"
extern "C"
casadi::IM*
    casadi_asin__3(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_asin__3(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = asin(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;
    }
}


// ================== function "casadi::casadi_asin" ===============
// cppName: "casadi::casadi_asin"
// cWrapperName: "casadi_asin__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_asin__4(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_asin"
// call: "        casadi::MX ret = asin(x0_);"
extern "C"
casadi::MX*
    casadi_asin__4(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_asin__4(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = asin(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;
    }
}


// ================== function "casadi::casadi_asinh" ===============
// cppName: "casadi::casadi_asinh"
// cWrapperName: "casadi_asinh__0"
// protoArgs: "(std::string ** err_msg, double* x0)"
// params: [(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_asinh__0(std::string ** err_msg, double* x0)"
// friendWrap: True
// fName: "casadi_asinh"
// call: "        double ret = asinh(x0_);"
extern "C"
double
    casadi_asinh__0(std::string ** err_msg, double* x0);
double
    casadi_asinh__0(std::string ** err_msg, double* x0){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);

        double ret = asinh(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;
    }
}


// ================== function "casadi::casadi_asinh" ===============
// cppName: "casadi::casadi_asinh"
// cWrapperName: "casadi_asinh__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_asinh__1(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_asinh"
// call: "        casadi::SX ret = asinh(x0_);"
extern "C"
casadi::SX*
    casadi_asinh__1(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_asinh__1(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = asinh(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;
    }
}


// ================== function "casadi::casadi_asinh" ===============
// cppName: "casadi::casadi_asinh"
// cWrapperName: "casadi_asinh__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_asinh__2(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_asinh"
// call: "        casadi::DM ret = asinh(x0_);"
extern "C"
casadi::DM*
    casadi_asinh__2(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_asinh__2(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = asinh(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;
    }
}


// ================== function "casadi::casadi_asinh" ===============
// cppName: "casadi::casadi_asinh"
// cWrapperName: "casadi_asinh__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_asinh__3(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_asinh"
// call: "        casadi::IM ret = asinh(x0_);"
extern "C"
casadi::IM*
    casadi_asinh__3(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_asinh__3(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = asinh(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;
    }
}


// ================== function "casadi::casadi_asinh" ===============
// cppName: "casadi::casadi_asinh"
// cWrapperName: "casadi_asinh__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_asinh__4(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_asinh"
// call: "        casadi::MX ret = asinh(x0_);"
extern "C"
casadi::MX*
    casadi_asinh__4(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_asinh__4(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = asinh(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;
    }
}


// ================== function "casadi::casadi_atan" ===============
// cppName: "casadi::casadi_atan"
// cWrapperName: "casadi_atan__0"
// protoArgs: "(std::string ** err_msg, double* x0)"
// params: [(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_atan__0(std::string ** err_msg, double* x0)"
// friendWrap: True
// fName: "casadi_atan"
// call: "        double ret = atan(x0_);"
extern "C"
double
    casadi_atan__0(std::string ** err_msg, double* x0);
double
    casadi_atan__0(std::string ** err_msg, double* x0){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);

        double ret = atan(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;
    }
}


// ================== function "casadi::casadi_atan" ===============
// cppName: "casadi::casadi_atan"
// cWrapperName: "casadi_atan__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_atan__1(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_atan"
// call: "        casadi::SX ret = atan(x0_);"
extern "C"
casadi::SX*
    casadi_atan__1(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_atan__1(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = atan(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;
    }
}


// ================== function "casadi::casadi_atan" ===============
// cppName: "casadi::casadi_atan"
// cWrapperName: "casadi_atan__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_atan__2(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_atan"
// call: "        casadi::DM ret = atan(x0_);"
extern "C"
casadi::DM*
    casadi_atan__2(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_atan__2(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = atan(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;
    }
}


// ================== function "casadi::casadi_atan" ===============
// cppName: "casadi::casadi_atan"
// cWrapperName: "casadi_atan__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_atan__3(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_atan"
// call: "        casadi::IM ret = atan(x0_);"
extern "C"
casadi::IM*
    casadi_atan__3(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_atan__3(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = atan(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;
    }
}


// ================== function "casadi::casadi_atan" ===============
// cppName: "casadi::casadi_atan"
// cWrapperName: "casadi_atan__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_atan__4(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_atan"
// call: "        casadi::MX ret = atan(x0_);"
extern "C"
casadi::MX*
    casadi_atan__4(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_atan__4(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = atan(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;
    }
}


// ================== function "casadi::casadi_atan2" ===============
// cppName: "casadi::casadi_atan2"
// cWrapperName: "casadi_atan2__0"
// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_, x1_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_atan2__0(std::string ** err_msg, double* x0, double* x1)"
// friendWrap: True
// fName: "casadi_atan2"
// call: "        double ret = atan2(x0_, x1_);"
extern "C"
double
    casadi_atan2__0(std::string ** err_msg, double* x0, double* x1);
double
    casadi_atan2__0(std::string ** err_msg, double* x0, double* x1){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);
        double& x1_ = Marshaling<double&,double*>::marshal(x1);

        double ret = atan2(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;
    }
}


// ================== function "casadi::casadi_atan2" ===============
// cppName: "casadi::casadi_atan2"
// cWrapperName: "casadi_atan2__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_atan2__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_atan2"
// call: "        casadi::SX ret = atan2(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_atan2__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_atan2__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = atan2(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;
    }
}


// ================== function "casadi::casadi_atan2" ===============
// cppName: "casadi::casadi_atan2"
// cWrapperName: "casadi_atan2__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_atan2__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_atan2"
// call: "        casadi::DM ret = atan2(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_atan2__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_atan2__2(std::string ** err_msg, 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 = atan2(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;
    }
}


// ================== function "casadi::casadi_atan2" ===============
// cppName: "casadi::casadi_atan2"
// cWrapperName: "casadi_atan2__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_atan2__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_atan2"
// call: "        casadi::IM ret = atan2(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_atan2__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_atan2__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = atan2(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;
    }
}


// ================== function "casadi::casadi_atan2" ===============
// cppName: "casadi::casadi_atan2"
// cWrapperName: "casadi_atan2__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_atan2__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_atan2"
// call: "        casadi::MX ret = atan2(x0_, x1_);"
extern "C"
casadi::MX*
    casadi_atan2__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi_atan2__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = atan2(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;
    }
}


// ================== function "casadi::casadi_atanh" ===============
// cppName: "casadi::casadi_atanh"
// cWrapperName: "casadi_atanh__0"
// protoArgs: "(std::string ** err_msg, double* x0)"
// params: [(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_atanh__0(std::string ** err_msg, double* x0)"
// friendWrap: True
// fName: "casadi_atanh"
// call: "        double ret = atanh(x0_);"
extern "C"
double
    casadi_atanh__0(std::string ** err_msg, double* x0);
double
    casadi_atanh__0(std::string ** err_msg, double* x0){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);

        double ret = atanh(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;
    }
}


// ================== function "casadi::casadi_atanh" ===============
// cppName: "casadi::casadi_atanh"
// cWrapperName: "casadi_atanh__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_atanh__1(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_atanh"
// call: "        casadi::SX ret = atanh(x0_);"
extern "C"
casadi::SX*
    casadi_atanh__1(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_atanh__1(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = atanh(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;
    }
}


// ================== function "casadi::casadi_atanh" ===============
// cppName: "casadi::casadi_atanh"
// cWrapperName: "casadi_atanh__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_atanh__2(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_atanh"
// call: "        casadi::DM ret = atanh(x0_);"
extern "C"
casadi::DM*
    casadi_atanh__2(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_atanh__2(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = atanh(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;
    }
}


// ================== function "casadi::casadi_atanh" ===============
// cppName: "casadi::casadi_atanh"
// cWrapperName: "casadi_atanh__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_atanh__3(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_atanh"
// call: "        casadi::IM ret = atanh(x0_);"
extern "C"
casadi::IM*
    casadi_atanh__3(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_atanh__3(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = atanh(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;
    }
}


// ================== function "casadi::casadi_atanh" ===============
// cppName: "casadi::casadi_atanh"
// cWrapperName: "casadi_atanh__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_atanh__4(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_atanh"
// call: "        casadi::MX ret = atanh(x0_);"
extern "C"
casadi::MX*
    casadi_atanh__4(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_atanh__4(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = atanh(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;
    }
}


// ================== function "casadi::casadi_bilin" ===============
// cppName: "casadi::casadi_bilin"
// cWrapperName: "casadi_bilin__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_bilin__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
// friendWrap: True
// fName: "casadi_bilin"
// call: "        casadi::SX ret = bilin(x0_, x1_, x2_);"
extern "C"
casadi::SX*
    casadi_bilin__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
casadi::SX*
    casadi_bilin__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);

        casadi::SX ret = bilin(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;
    }
}


// ================== function "casadi::casadi_bilin" ===============
// cppName: "casadi::casadi_bilin"
// cWrapperName: "casadi_bilin__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_bilin__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
// friendWrap: True
// fName: "casadi_bilin"
// call: "        casadi::DM ret = bilin(x0_, x1_, x2_);"
extern "C"
casadi::DM*
    casadi_bilin__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
casadi::DM*
    casadi_bilin__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::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 = bilin(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;
    }
}


// ================== function "casadi::casadi_bilin" ===============
// cppName: "casadi::casadi_bilin"
// cWrapperName: "casadi_bilin__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_bilin__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
// friendWrap: True
// fName: "casadi_bilin"
// call: "        casadi::IM ret = bilin(x0_, x1_, x2_);"
extern "C"
casadi::IM*
    casadi_bilin__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
casadi::IM*
    casadi_bilin__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::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 = bilin(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;
    }
}


// ================== function "casadi::casadi_bilin" ===============
// cppName: "casadi::casadi_bilin"
// cWrapperName: "casadi_bilin__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* 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)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_bilin__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
// friendWrap: True
// fName: "casadi_bilin"
// call: "        casadi::MX ret = bilin(x0_, x1_, x2_);"
extern "C"
casadi::MX*
    casadi_bilin__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2);
casadi::MX*
    casadi_bilin__3(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 = bilin(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;
    }
}


// ================== function "casadi::casadi_blockcat" ===============
// cppName: "casadi::casadi_blockcat"
// cWrapperName: "casadi_blockcat__0"
// protoArgs: "(std::string ** err_msg, std::vector< std::vector< casadi::SX* >* >* x0)"
// params: [(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_blockcat__0(std::string ** err_msg, std::vector< std::vector< casadi::SX* >* >* x0)"
// friendWrap: True
// fName: "casadi_blockcat"
// call: "        casadi::SX ret = blockcat(x0_);"
extern "C"
casadi::SX*
    casadi_blockcat__0(std::string ** err_msg, std::vector< std::vector< casadi::SX* >* >* x0);
casadi::SX*
    casadi_blockcat__0(std::string ** err_msg, std::vector< std::vector< casadi::SX* >* >* x0){
    try {
        std::vector< std::vector< casadi::SX > > x0_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x0);

        casadi::SX ret = blockcat(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;
    }
}


// ================== function "casadi::casadi_blockcat" ===============
// cppName: "casadi::casadi_blockcat"
// cWrapperName: "casadi_blockcat__1"
// protoArgs: "(std::string ** err_msg, std::vector< std::vector< casadi::DM* >* >* x0)"
// params: [(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_blockcat__1(std::string ** err_msg, std::vector< std::vector< casadi::DM* >* >* x0)"
// friendWrap: True
// fName: "casadi_blockcat"
// call: "        casadi::DM ret = blockcat(x0_);"
extern "C"
casadi::DM*
    casadi_blockcat__1(std::string ** err_msg, std::vector< std::vector< casadi::DM* >* >* x0);
casadi::DM*
    casadi_blockcat__1(std::string ** err_msg, std::vector< std::vector< casadi::DM* >* >* x0){
    try {
        std::vector< std::vector< casadi::DM > > x0_ = Marshaling<std::vector< std::vector< casadi::DM > >,std::vector< std::vector< casadi::DM* >* >*>::marshal(x0);

        casadi::DM ret = blockcat(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;
    }
}


// ================== function "casadi::casadi_blockcat" ===============
// cppName: "casadi::casadi_blockcat"
// cWrapperName: "casadi_blockcat__2"
// protoArgs: "(std::string ** err_msg, std::vector< std::vector< casadi::IM* >* >* x0)"
// params: [(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_blockcat__2(std::string ** err_msg, std::vector< std::vector< casadi::IM* >* >* x0)"
// friendWrap: True
// fName: "casadi_blockcat"
// call: "        casadi::IM ret = blockcat(x0_);"
extern "C"
casadi::IM*
    casadi_blockcat__2(std::string ** err_msg, std::vector< std::vector< casadi::IM* >* >* x0);
casadi::IM*
    casadi_blockcat__2(std::string ** err_msg, std::vector< std::vector< casadi::IM* >* >* x0){
    try {
        std::vector< std::vector< casadi::IM > > x0_ = Marshaling<std::vector< std::vector< casadi::IM > >,std::vector< std::vector< casadi::IM* >* >*>::marshal(x0);

        casadi::IM ret = blockcat(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;
    }
}


// ================== function "casadi::casadi_blockcat" ===============
// cppName: "casadi::casadi_blockcat"
// cWrapperName: "casadi_blockcat__3"
// protoArgs: "(std::string ** err_msg, std::vector< std::vector< casadi::MX* >* >* x0)"
// params: [(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_blockcat__3(std::string ** err_msg, std::vector< std::vector< casadi::MX* >* >* x0)"
// friendWrap: True
// fName: "casadi_blockcat"
// call: "        casadi::MX ret = blockcat(x0_);"
extern "C"
casadi::MX*
    casadi_blockcat__3(std::string ** err_msg, std::vector< std::vector< casadi::MX* >* >* x0);
casadi::MX*
    casadi_blockcat__3(std::string ** err_msg, std::vector< std::vector< casadi::MX* >* >* x0){
    try {
        std::vector< std::vector< casadi::MX > > x0_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x0);

        casadi::MX ret = blockcat(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;
    }
}


// ================== function "casadi::casadi_blockcat" ===============
// cppName: "casadi::casadi_blockcat"
// cWrapperName: "casadi_blockcat__4"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_blockcat__4(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3)"
// friendWrap: True
// fName: "casadi_blockcat"
// call: "        casadi::SX ret = blockcat(x0_, x1_, x2_, x3_);"
extern "C"
casadi::SX*
    casadi_blockcat__4(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3);
casadi::SX*
    casadi_blockcat__4(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
        casadi::SX& x3_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x3);

        casadi::SX ret = blockcat(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;
    }
}


// ================== function "casadi::casadi_blockcat" ===============
// cppName: "casadi::casadi_blockcat"
// cWrapperName: "casadi_blockcat__5"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_blockcat__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3)"
// friendWrap: True
// fName: "casadi_blockcat"
// call: "        casadi::DM ret = blockcat(x0_, x1_, x2_, x3_);"
extern "C"
casadi::DM*
    casadi_blockcat__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3);
casadi::DM*
    casadi_blockcat__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
        casadi::DM& x3_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x3);

        casadi::DM ret = blockcat(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;
    }
}


// ================== function "casadi::casadi_blockcat" ===============
// cppName: "casadi::casadi_blockcat"
// cWrapperName: "casadi_blockcat__6"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_blockcat__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3)"
// friendWrap: True
// fName: "casadi_blockcat"
// call: "        casadi::IM ret = blockcat(x0_, x1_, x2_, x3_);"
extern "C"
casadi::IM*
    casadi_blockcat__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3);
casadi::IM*
    casadi_blockcat__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);

        casadi::IM ret = blockcat(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;
    }
}


// ================== function "casadi::casadi_blockcat" ===============
// cppName: "casadi::casadi_blockcat"
// cWrapperName: "casadi_blockcat__7"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3)"
// 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 (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_blockcat__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3)"
// friendWrap: True
// fName: "casadi_blockcat"
// call: "        casadi::MX ret = blockcat(x0_, x1_, x2_, x3_);"
extern "C"
casadi::MX*
    casadi_blockcat__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3);
casadi::MX*
    casadi_blockcat__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3){
    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& x3_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x3);

        casadi::MX ret = blockcat(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::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_blockcat" ===============
// cppName: "casadi::casadi_blockcat"
// cWrapperName: "casadi_blockcat__8"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, casadi::Sparsity* x2, casadi::Sparsity* x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi_blockcat__8(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, casadi::Sparsity* x2, casadi::Sparsity* x3)"
// friendWrap: True
// fName: "casadi_blockcat"
// call: "        casadi::Sparsity ret = blockcat(x0_, x1_, x2_, x3_);"
extern "C"
casadi::Sparsity*
    casadi_blockcat__8(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, casadi::Sparsity* x2, casadi::Sparsity* x3);
casadi::Sparsity*
    casadi_blockcat__8(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, casadi::Sparsity* x2, casadi::Sparsity* x3){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);
        casadi::Sparsity& x3_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x3);

        casadi::Sparsity ret = blockcat(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;
    }
}


// ================== function "casadi::casadi_blocksplit" ===============
// cppName: "casadi::casadi_blocksplit"
// cWrapperName: "casadi_blocksplit__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
// args: "(x0_)"
// cWrapperRetType: "std::vector< std::vector< casadi::SX* >* >*"
// proto: "std::vector< std::vector< casadi::SX* >* >*\n    casadi_blocksplit__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_blocksplit"
// call: "        std::vector< std::vector< casadi::SX > > ret = blocksplit(x0_);"
extern "C"
std::vector< std::vector< casadi::SX* >* >*
    casadi_blocksplit__0(std::string ** err_msg, casadi::SX* x0);
std::vector< std::vector< casadi::SX* >* >*
    casadi_blocksplit__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        std::vector< std::vector< casadi::SX > > ret = blocksplit(x0_);
        // x0 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;
    }
}


// ================== function "casadi::casadi_blocksplit" ===============
// cppName: "casadi::casadi_blocksplit"
// cWrapperName: "casadi_blocksplit__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< std::vector< casadi::SX* >* >*"
// proto: "std::vector< std::vector< casadi::SX* >* >*\n    casadi_blocksplit__1(std::string ** err_msg, casadi::SX* x0, long long x1)"
// friendWrap: True
// fName: "casadi_blocksplit"
// call: "        std::vector< std::vector< casadi::SX > > ret = blocksplit(x0_, x1_);"
extern "C"
std::vector< std::vector< casadi::SX* >* >*
    casadi_blocksplit__1(std::string ** err_msg, casadi::SX* x0, long long x1);
std::vector< std::vector< casadi::SX* >* >*
    casadi_blocksplit__1(std::string ** err_msg, casadi::SX* x0, long long x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        std::vector< std::vector< casadi::SX > > ret = blocksplit(x0_, x1_);
        // x0 is not a swig output
        // x1 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;
    }
}


// ================== function "casadi::casadi_blocksplit" ===============
// cppName: "casadi::casadi_blocksplit"
// cWrapperName: "casadi_blocksplit__2"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< std::vector< casadi::SX* >* >*"
// proto: "std::vector< std::vector< casadi::SX* >* >*\n    casadi_blocksplit__2(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2)"
// friendWrap: True
// fName: "casadi_blocksplit"
// call: "        std::vector< std::vector< casadi::SX > > ret = blocksplit(x0_, x1_, x2_);"
extern "C"
std::vector< std::vector< casadi::SX* >* >*
    casadi_blocksplit__2(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2);
std::vector< std::vector< casadi::SX* >* >*
    casadi_blocksplit__2(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        std::vector< std::vector< casadi::SX > > ret = blocksplit(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< 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;
    }
}


// ================== function "casadi::casadi_blocksplit" ===============
// cppName: "casadi::casadi_blocksplit"
// cWrapperName: "casadi_blocksplit__3"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< std::vector< casadi::SX* >* >*"
// proto: "std::vector< std::vector< casadi::SX* >* >*\n    casadi_blocksplit__3(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
// friendWrap: True
// fName: "casadi_blocksplit"
// call: "        std::vector< std::vector< casadi::SX > > ret = blocksplit(x0_, x1_, x2_);"
extern "C"
std::vector< std::vector< casadi::SX* >* >*
    casadi_blocksplit__3(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1, std::vector< long long >* x2);
std::vector< std::vector< casadi::SX* >* >*
    casadi_blocksplit__3(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1, std::vector< long long >* x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::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::vector< std::vector< casadi::SX > > ret = blocksplit(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< 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;
    }
}


// ================== function "casadi::casadi_blocksplit" ===============
// cppName: "casadi::casadi_blocksplit"
// cWrapperName: "casadi_blocksplit__4"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))
// args: "(x0_)"
// cWrapperRetType: "std::vector< std::vector< casadi::DM* >* >*"
// proto: "std::vector< std::vector< casadi::DM* >* >*\n    casadi_blocksplit__4(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_blocksplit"
// call: "        std::vector< std::vector< casadi::DM > > ret = blocksplit(x0_);"
extern "C"
std::vector< std::vector< casadi::DM* >* >*
    casadi_blocksplit__4(std::string ** err_msg, casadi::DM* x0);
std::vector< std::vector< casadi::DM* >* >*
    casadi_blocksplit__4(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        std::vector< std::vector< casadi::DM > > ret = blocksplit(x0_);
        // x0 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;
    }
}


// ================== function "casadi::casadi_blocksplit" ===============
// cppName: "casadi::casadi_blocksplit"
// cWrapperName: "casadi_blocksplit__5"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< std::vector< casadi::DM* >* >*"
// proto: "std::vector< std::vector< casadi::DM* >* >*\n    casadi_blocksplit__5(std::string ** err_msg, casadi::DM* x0, long long x1)"
// friendWrap: True
// fName: "casadi_blocksplit"
// call: "        std::vector< std::vector< casadi::DM > > ret = blocksplit(x0_, x1_);"
extern "C"
std::vector< std::vector< casadi::DM* >* >*
    casadi_blocksplit__5(std::string ** err_msg, casadi::DM* x0, long long x1);
std::vector< std::vector< casadi::DM* >* >*
    casadi_blocksplit__5(std::string ** err_msg, casadi::DM* x0, long long x1){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        std::vector< std::vector< casadi::DM > > ret = blocksplit(x0_, x1_);
        // x0 is not a swig output
        // x1 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;
    }
}


// ================== function "casadi::casadi_blocksplit" ===============
// cppName: "casadi::casadi_blocksplit"
// cWrapperName: "casadi_blocksplit__6"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< std::vector< casadi::DM* >* >*"
// proto: "std::vector< std::vector< casadi::DM* >* >*\n    casadi_blocksplit__6(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2)"
// friendWrap: True
// fName: "casadi_blocksplit"
// call: "        std::vector< std::vector< casadi::DM > > ret = blocksplit(x0_, x1_, x2_);"
extern "C"
std::vector< std::vector< casadi::DM* >* >*
    casadi_blocksplit__6(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2);
std::vector< std::vector< casadi::DM* >* >*
    casadi_blocksplit__6(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        std::vector< std::vector< casadi::DM > > ret = blocksplit(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< 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;
    }
}


// ================== function "casadi::casadi_blocksplit" ===============
// cppName: "casadi::casadi_blocksplit"
// cWrapperName: "casadi_blocksplit__7"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< std::vector< casadi::DM* >* >*"
// proto: "std::vector< std::vector< casadi::DM* >* >*\n    casadi_blocksplit__7(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
// friendWrap: True
// fName: "casadi_blocksplit"
// call: "        std::vector< std::vector< casadi::DM > > ret = blocksplit(x0_, x1_, x2_);"
extern "C"
std::vector< std::vector< casadi::DM* >* >*
    casadi_blocksplit__7(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1, std::vector< long long >* x2);
std::vector< std::vector< casadi::DM* >* >*
    casadi_blocksplit__7(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1, std::vector< long long >* x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::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::vector< std::vector< casadi::DM > > ret = blocksplit(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< 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;
    }
}


// ================== function "casadi::casadi_blocksplit" ===============
// cppName: "casadi::casadi_blocksplit"
// cWrapperName: "casadi_blocksplit__8"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))
// args: "(x0_)"
// cWrapperRetType: "std::vector< std::vector< casadi::IM* >* >*"
// proto: "std::vector< std::vector< casadi::IM* >* >*\n    casadi_blocksplit__8(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_blocksplit"
// call: "        std::vector< std::vector< casadi::IM > > ret = blocksplit(x0_);"
extern "C"
std::vector< std::vector< casadi::IM* >* >*
    casadi_blocksplit__8(std::string ** err_msg, casadi::IM* x0);
std::vector< std::vector< casadi::IM* >* >*
    casadi_blocksplit__8(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        std::vector< std::vector< casadi::IM > > ret = blocksplit(x0_);
        // x0 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;
    }
}


// ================== function "casadi::casadi_blocksplit" ===============
// cppName: "casadi::casadi_blocksplit"
// cWrapperName: "casadi_blocksplit__9"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< std::vector< casadi::IM* >* >*"
// proto: "std::vector< std::vector< casadi::IM* >* >*\n    casadi_blocksplit__9(std::string ** err_msg, casadi::IM* x0, long long x1)"
// friendWrap: True
// fName: "casadi_blocksplit"
// call: "        std::vector< std::vector< casadi::IM > > ret = blocksplit(x0_, x1_);"
extern "C"
std::vector< std::vector< casadi::IM* >* >*
    casadi_blocksplit__9(std::string ** err_msg, casadi::IM* x0, long long x1);
std::vector< std::vector< casadi::IM* >* >*
    casadi_blocksplit__9(std::string ** err_msg, casadi::IM* x0, long long x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        std::vector< std::vector< casadi::IM > > ret = blocksplit(x0_, x1_);
        // x0 is not a swig output
        // x1 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;
    }
}


// ================== function "casadi::casadi_blocksplit" ===============
// cppName: "casadi::casadi_blocksplit"
// cWrapperName: "casadi_blocksplit__10"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< std::vector< casadi::IM* >* >*"
// proto: "std::vector< std::vector< casadi::IM* >* >*\n    casadi_blocksplit__10(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2)"
// friendWrap: True
// fName: "casadi_blocksplit"
// call: "        std::vector< std::vector< casadi::IM > > ret = blocksplit(x0_, x1_, x2_);"
extern "C"
std::vector< std::vector< casadi::IM* >* >*
    casadi_blocksplit__10(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2);
std::vector< std::vector< casadi::IM* >* >*
    casadi_blocksplit__10(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        std::vector< std::vector< casadi::IM > > ret = blocksplit(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< 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;
    }
}


// ================== function "casadi::casadi_blocksplit" ===============
// cppName: "casadi::casadi_blocksplit"
// cWrapperName: "casadi_blocksplit__11"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< std::vector< casadi::IM* >* >*"
// proto: "std::vector< std::vector< casadi::IM* >* >*\n    casadi_blocksplit__11(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
// friendWrap: True
// fName: "casadi_blocksplit"
// call: "        std::vector< std::vector< casadi::IM > > ret = blocksplit(x0_, x1_, x2_);"
extern "C"
std::vector< std::vector< casadi::IM* >* >*
    casadi_blocksplit__11(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1, std::vector< long long >* x2);
std::vector< std::vector< casadi::IM* >* >*
    casadi_blocksplit__11(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1, std::vector< long long >* x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::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::vector< std::vector< casadi::IM > > ret = blocksplit(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< 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;
    }
}


// ================== function "casadi::casadi_blocksplit" ===============
// cppName: "casadi::casadi_blocksplit"
// cWrapperName: "casadi_blocksplit__12"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
// args: "(x0_)"
// cWrapperRetType: "std::vector< std::vector< casadi::MX* >* >*"
// proto: "std::vector< std::vector< casadi::MX* >* >*\n    casadi_blocksplit__12(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_blocksplit"
// call: "        std::vector< std::vector< casadi::MX > > ret = blocksplit(x0_);"
extern "C"
std::vector< std::vector< casadi::MX* >* >*
    casadi_blocksplit__12(std::string ** err_msg, casadi::MX* x0);
std::vector< std::vector< casadi::MX* >* >*
    casadi_blocksplit__12(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        std::vector< std::vector< casadi::MX > > ret = blocksplit(x0_);
        // x0 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;
    }
}


// ================== function "casadi::casadi_blocksplit" ===============
// cppName: "casadi::casadi_blocksplit"
// cWrapperName: "casadi_blocksplit__13"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< std::vector< casadi::MX* >* >*"
// proto: "std::vector< std::vector< casadi::MX* >* >*\n    casadi_blocksplit__13(std::string ** err_msg, casadi::MX* x0, long long x1)"
// friendWrap: True
// fName: "casadi_blocksplit"
// call: "        std::vector< std::vector< casadi::MX > > ret = blocksplit(x0_, x1_);"
extern "C"
std::vector< std::vector< casadi::MX* >* >*
    casadi_blocksplit__13(std::string ** err_msg, casadi::MX* x0, long long x1);
std::vector< std::vector< casadi::MX* >* >*
    casadi_blocksplit__13(std::string ** err_msg, 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::vector< std::vector< casadi::MX > > ret = blocksplit(x0_, x1_);
        // x0 is not a swig output
        // x1 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;
    }
}


// ================== function "casadi::casadi_blocksplit" ===============
// cppName: "casadi::casadi_blocksplit"
// cWrapperName: "casadi_blocksplit__14"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< std::vector< casadi::MX* >* >*"
// proto: "std::vector< std::vector< casadi::MX* >* >*\n    casadi_blocksplit__14(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2)"
// friendWrap: True
// fName: "casadi_blocksplit"
// call: "        std::vector< std::vector< casadi::MX > > ret = blocksplit(x0_, x1_, x2_);"
extern "C"
std::vector< std::vector< casadi::MX* >* >*
    casadi_blocksplit__14(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2);
std::vector< std::vector< casadi::MX* >* >*
    casadi_blocksplit__14(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        std::vector< std::vector< casadi::MX > > ret = blocksplit(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< 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;
    }
}


// ================== function "casadi::casadi_blocksplit" ===============
// cppName: "casadi::casadi_blocksplit"
// cWrapperName: "casadi_blocksplit__15"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< std::vector< casadi::MX* >* >*"
// proto: "std::vector< std::vector< casadi::MX* >* >*\n    casadi_blocksplit__15(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
// friendWrap: True
// fName: "casadi_blocksplit"
// call: "        std::vector< std::vector< casadi::MX > > ret = blocksplit(x0_, x1_, x2_);"
extern "C"
std::vector< std::vector< casadi::MX* >* >*
    casadi_blocksplit__15(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1, std::vector< long long >* x2);
std::vector< std::vector< casadi::MX* >* >*
    casadi_blocksplit__15(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1, std::vector< long long >* x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::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::vector< std::vector< casadi::MX > > ret = blocksplit(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< 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;
    }
}


// ================== function "casadi::casadi_blocksplit" ===============
// cppName: "casadi::casadi_blocksplit"
// cWrapperName: "casadi_blocksplit__16"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))
// args: "(x0_)"
// cWrapperRetType: "std::vector< std::vector< casadi::Sparsity* >* >*"
// proto: "std::vector< std::vector< casadi::Sparsity* >* >*\n    casadi_blocksplit__16(std::string ** err_msg, casadi::Sparsity* x0)"
// friendWrap: True
// fName: "casadi_blocksplit"
// call: "        std::vector< std::vector< casadi::Sparsity > > ret = blocksplit(x0_);"
extern "C"
std::vector< std::vector< casadi::Sparsity* >* >*
    casadi_blocksplit__16(std::string ** err_msg, casadi::Sparsity* x0);
std::vector< std::vector< casadi::Sparsity* >* >*
    casadi_blocksplit__16(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

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

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


// ================== function "casadi::casadi_blocksplit" ===============
// cppName: "casadi::casadi_blocksplit"
// cWrapperName: "casadi_blocksplit__17"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< std::vector< casadi::Sparsity* >* >*"
// proto: "std::vector< std::vector< casadi::Sparsity* >* >*\n    casadi_blocksplit__17(std::string ** err_msg, casadi::Sparsity* x0, long long x1)"
// friendWrap: True
// fName: "casadi_blocksplit"
// call: "        std::vector< std::vector< casadi::Sparsity > > ret = blocksplit(x0_, x1_);"
extern "C"
std::vector< std::vector< casadi::Sparsity* >* >*
    casadi_blocksplit__17(std::string ** err_msg, casadi::Sparsity* x0, long long x1);
std::vector< std::vector< casadi::Sparsity* >* >*
    casadi_blocksplit__17(std::string ** err_msg, 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);

        std::vector< std::vector< casadi::Sparsity > > ret = blocksplit(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

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


// ================== function "casadi::casadi_blocksplit" ===============
// cppName: "casadi::casadi_blocksplit"
// cWrapperName: "casadi_blocksplit__18"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, long long x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< std::vector< casadi::Sparsity* >* >*"
// proto: "std::vector< std::vector< casadi::Sparsity* >* >*\n    casadi_blocksplit__18(std::string ** err_msg, casadi::Sparsity* x0, long long x1, long long x2)"
// friendWrap: True
// fName: "casadi_blocksplit"
// call: "        std::vector< std::vector< casadi::Sparsity > > ret = blocksplit(x0_, x1_, x2_);"
extern "C"
std::vector< std::vector< casadi::Sparsity* >* >*
    casadi_blocksplit__18(std::string ** err_msg, casadi::Sparsity* x0, long long x1, long long x2);
std::vector< std::vector< casadi::Sparsity* >* >*
    casadi_blocksplit__18(std::string ** err_msg, casadi::Sparsity* x0, long long x1, long long x2){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        std::vector< std::vector< casadi::Sparsity > > ret = blocksplit(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< std::vector< casadi::Sparsity* >* >*, std::vector< std::vector< casadi::Sparsity > > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_blocksplit" ===============
// cppName: "casadi::casadi_blocksplit"
// cWrapperName: "casadi_blocksplit__19"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< std::vector< casadi::Sparsity* >* >*"
// proto: "std::vector< std::vector< casadi::Sparsity* >* >*\n    casadi_blocksplit__19(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
// friendWrap: True
// fName: "casadi_blocksplit"
// call: "        std::vector< std::vector< casadi::Sparsity > > ret = blocksplit(x0_, x1_, x2_);"
extern "C"
std::vector< std::vector< casadi::Sparsity* >* >*
    casadi_blocksplit__19(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1, std::vector< long long >* x2);
std::vector< std::vector< casadi::Sparsity* >* >*
    casadi_blocksplit__19(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1, std::vector< long long >* x2){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::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::vector< std::vector< casadi::Sparsity > > ret = blocksplit(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< std::vector< casadi::Sparsity* >* >*, std::vector< std::vector< casadi::Sparsity > > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_ceil" ===============
// cppName: "casadi::casadi_ceil"
// cWrapperName: "casadi_ceil__0"
// protoArgs: "(std::string ** err_msg, double* x0)"
// params: [(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_ceil__0(std::string ** err_msg, double* x0)"
// friendWrap: True
// fName: "casadi_ceil"
// call: "        double ret = ceil(x0_);"
extern "C"
double
    casadi_ceil__0(std::string ** err_msg, double* x0);
double
    casadi_ceil__0(std::string ** err_msg, double* x0){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);

        double ret = ceil(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;
    }
}


// ================== function "casadi::casadi_ceil" ===============
// cppName: "casadi::casadi_ceil"
// cWrapperName: "casadi_ceil__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_ceil__1(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_ceil"
// call: "        casadi::SX ret = ceil(x0_);"
extern "C"
casadi::SX*
    casadi_ceil__1(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_ceil__1(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = ceil(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;
    }
}


// ================== function "casadi::casadi_ceil" ===============
// cppName: "casadi::casadi_ceil"
// cWrapperName: "casadi_ceil__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_ceil__2(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_ceil"
// call: "        casadi::DM ret = ceil(x0_);"
extern "C"
casadi::DM*
    casadi_ceil__2(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_ceil__2(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = ceil(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;
    }
}


// ================== function "casadi::casadi_ceil" ===============
// cppName: "casadi::casadi_ceil"
// cWrapperName: "casadi_ceil__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_ceil__3(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_ceil"
// call: "        casadi::IM ret = ceil(x0_);"
extern "C"
casadi::IM*
    casadi_ceil__3(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_ceil__3(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = ceil(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;
    }
}


// ================== function "casadi::casadi_ceil" ===============
// cppName: "casadi::casadi_ceil"
// cWrapperName: "casadi_ceil__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_ceil__4(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_ceil"
// call: "        casadi::MX ret = ceil(x0_);"
extern "C"
casadi::MX*
    casadi_ceil__4(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_ceil__4(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = ceil(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;
    }
}


// ================== function "casadi::casadi_chol" ===============
// cppName: "casadi::casadi_chol"
// cWrapperName: "casadi_chol__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_chol__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_chol"
// call: "        casadi::SX ret = chol(x0_);"
extern "C"
casadi::SX*
    casadi_chol__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_chol__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = chol(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;
    }
}


// ================== function "casadi::casadi_chol" ===============
// cppName: "casadi::casadi_chol"
// cWrapperName: "casadi_chol__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_chol__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_chol"
// call: "        casadi::DM ret = chol(x0_);"
extern "C"
casadi::DM*
    casadi_chol__1(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_chol__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = chol(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;
    }
}


// ================== function "casadi::casadi_chol" ===============
// cppName: "casadi::casadi_chol"
// cWrapperName: "casadi_chol__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_chol__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_chol"
// call: "        casadi::IM ret = chol(x0_);"
extern "C"
casadi::IM*
    casadi_chol__2(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_chol__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = chol(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;
    }
}


// ================== function "casadi::casadi_cofactor" ===============
// cppName: "casadi::casadi_cofactor"
// cWrapperName: "casadi_cofactor__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_cofactor__0(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2)"
// friendWrap: True
// fName: "casadi_cofactor"
// call: "        casadi::SX ret = cofactor(x0_, x1_, x2_);"
extern "C"
casadi::SX*
    casadi_cofactor__0(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2);
casadi::SX*
    casadi_cofactor__0(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::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 = cofactor(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;
    }
}


// ================== function "casadi::casadi_cofactor" ===============
// cppName: "casadi::casadi_cofactor"
// cWrapperName: "casadi_cofactor__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_cofactor__1(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2)"
// friendWrap: True
// fName: "casadi_cofactor"
// call: "        casadi::DM ret = cofactor(x0_, x1_, x2_);"
extern "C"
casadi::DM*
    casadi_cofactor__1(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2);
casadi::DM*
    casadi_cofactor__1(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::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 = cofactor(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;
    }
}


// ================== function "casadi::casadi_cofactor" ===============
// cppName: "casadi::casadi_cofactor"
// cWrapperName: "casadi_cofactor__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_cofactor__2(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2)"
// friendWrap: True
// fName: "casadi_cofactor"
// call: "        casadi::IM ret = cofactor(x0_, x1_, x2_);"
extern "C"
casadi::IM*
    casadi_cofactor__2(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2);
casadi::IM*
    casadi_cofactor__2(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::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 = cofactor(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;
    }
}


// ================== function "casadi::casadi_conditional" ===============
// cppName: "casadi::casadi_conditional"
// cWrapperName: "casadi_conditional__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::vector< casadi::SX* >* x1, casadi::SX* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_conditional__0(std::string ** err_msg, casadi::SX* x0, std::vector< casadi::SX* >* x1, casadi::SX* x2)"
// friendWrap: True
// fName: "casadi_conditional"
// call: "        casadi::SX ret = conditional(x0_, x1_, x2_);"
extern "C"
casadi::SX*
    casadi_conditional__0(std::string ** err_msg, casadi::SX* x0, std::vector< casadi::SX* >* x1, casadi::SX* x2);
casadi::SX*
    casadi_conditional__0(std::string ** err_msg, casadi::SX* x0, std::vector< casadi::SX* >* x1, casadi::SX* x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);

        casadi::SX ret = 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::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_conditional" ===============
// cppName: "casadi::casadi_conditional"
// cWrapperName: "casadi_conditional__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::vector< casadi::SX* >* x1, casadi::SX* x2, int x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_conditional__1(std::string ** err_msg, casadi::SX* x0, std::vector< casadi::SX* >* x1, casadi::SX* x2, int x3)"
// friendWrap: True
// fName: "casadi_conditional"
// call: "        casadi::SX ret = conditional(x0_, x1_, x2_, x3_);"
extern "C"
casadi::SX*
    casadi_conditional__1(std::string ** err_msg, casadi::SX* x0, std::vector< casadi::SX* >* x1, casadi::SX* x2, int x3);
casadi::SX*
    casadi_conditional__1(std::string ** err_msg, casadi::SX* x0, std::vector< casadi::SX* >* x1, casadi::SX* x2, int x3){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::SX ret = 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::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_conditional" ===============
// cppName: "casadi::casadi_conditional"
// cWrapperName: "casadi_conditional__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::vector< casadi::DM* >* x1, casadi::DM* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_conditional__2(std::string ** err_msg, casadi::DM* x0, std::vector< casadi::DM* >* x1, casadi::DM* x2)"
// friendWrap: True
// fName: "casadi_conditional"
// call: "        casadi::DM ret = conditional(x0_, x1_, x2_);"
extern "C"
casadi::DM*
    casadi_conditional__2(std::string ** err_msg, casadi::DM* x0, std::vector< casadi::DM* >* x1, casadi::DM* x2);
casadi::DM*
    casadi_conditional__2(std::string ** err_msg, casadi::DM* x0, std::vector< casadi::DM* >* x1, casadi::DM* x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);

        casadi::DM ret = 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::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_conditional" ===============
// cppName: "casadi::casadi_conditional"
// cWrapperName: "casadi_conditional__3"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::vector< casadi::DM* >* x1, casadi::DM* x2, int x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_conditional__3(std::string ** err_msg, casadi::DM* x0, std::vector< casadi::DM* >* x1, casadi::DM* x2, int x3)"
// friendWrap: True
// fName: "casadi_conditional"
// call: "        casadi::DM ret = conditional(x0_, x1_, x2_, x3_);"
extern "C"
casadi::DM*
    casadi_conditional__3(std::string ** err_msg, casadi::DM* x0, std::vector< casadi::DM* >* x1, casadi::DM* x2, int x3);
casadi::DM*
    casadi_conditional__3(std::string ** err_msg, casadi::DM* x0, std::vector< casadi::DM* >* x1, casadi::DM* x2, int x3){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::DM ret = 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::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_conditional" ===============
// cppName: "casadi::casadi_conditional"
// cWrapperName: "casadi_conditional__4"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::vector< casadi::IM* >* x1, casadi::IM* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_conditional__4(std::string ** err_msg, casadi::IM* x0, std::vector< casadi::IM* >* x1, casadi::IM* x2)"
// friendWrap: True
// fName: "casadi_conditional"
// call: "        casadi::IM ret = conditional(x0_, x1_, x2_);"
extern "C"
casadi::IM*
    casadi_conditional__4(std::string ** err_msg, casadi::IM* x0, std::vector< casadi::IM* >* x1, casadi::IM* x2);
casadi::IM*
    casadi_conditional__4(std::string ** err_msg, casadi::IM* x0, std::vector< casadi::IM* >* x1, casadi::IM* x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        std::vector< casadi::IM > x1_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);

        casadi::IM ret = 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::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_conditional" ===============
// cppName: "casadi::casadi_conditional"
// cWrapperName: "casadi_conditional__5"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::vector< casadi::IM* >* x1, casadi::IM* x2, int x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_conditional__5(std::string ** err_msg, casadi::IM* x0, std::vector< casadi::IM* >* x1, casadi::IM* x2, int x3)"
// friendWrap: True
// fName: "casadi_conditional"
// call: "        casadi::IM ret = conditional(x0_, x1_, x2_, x3_);"
extern "C"
casadi::IM*
    casadi_conditional__5(std::string ** err_msg, casadi::IM* x0, std::vector< casadi::IM* >* x1, casadi::IM* x2, int x3);
casadi::IM*
    casadi_conditional__5(std::string ** err_msg, casadi::IM* x0, std::vector< casadi::IM* >* x1, casadi::IM* x2, int x3){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        std::vector< casadi::IM > x1_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::IM ret = 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::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_conditional" ===============
// cppName: "casadi::casadi_conditional"
// cWrapperName: "casadi_conditional__6"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, casadi::MX* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_conditional__6(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, casadi::MX* x2)"
// friendWrap: True
// fName: "casadi_conditional"
// call: "        casadi::MX ret = conditional(x0_, x1_, x2_);"
extern "C"
casadi::MX*
    casadi_conditional__6(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, casadi::MX* x2);
casadi::MX*
    casadi_conditional__6(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, casadi::MX* x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
        casadi::MX& x2_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x2);

        casadi::MX ret = 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::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_conditional" ===============
// cppName: "casadi::casadi_conditional"
// cWrapperName: "casadi_conditional__7"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, casadi::MX* x2, int x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_conditional__7(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, casadi::MX* x2, int x3)"
// friendWrap: True
// fName: "casadi_conditional"
// call: "        casadi::MX ret = conditional(x0_, x1_, x2_, x3_);"
extern "C"
casadi::MX*
    casadi_conditional__7(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, casadi::MX* x2, int x3);
casadi::MX*
    casadi_conditional__7(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, casadi::MX* x2, int x3){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
        casadi::MX& x2_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::MX ret = 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::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_constpow" ===============
// cppName: "casadi::casadi_constpow"
// cWrapperName: "casadi_constpow__0"
// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_, x1_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_constpow__0(std::string ** err_msg, double* x0, double* x1)"
// friendWrap: True
// fName: "casadi_constpow"
// call: "        double ret = casadi::constpow(x0_, x1_);"
extern "C"
double
    casadi_constpow__0(std::string ** err_msg, double* x0, double* x1);
double
    casadi_constpow__0(std::string ** err_msg, double* x0, double* x1){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);
        double& x1_ = Marshaling<double&,double*>::marshal(x1);

        double ret = casadi::constpow(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;
    }
}


// ================== function "casadi::casadi_constpow" ===============
// cppName: "casadi::casadi_constpow"
// cWrapperName: "casadi_constpow__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_constpow__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_constpow"
// call: "        casadi::SX ret = constpow(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_constpow__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_constpow__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = constpow(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;
    }
}


// ================== function "casadi::casadi_constpow" ===============
// cppName: "casadi::casadi_constpow"
// cWrapperName: "casadi_constpow__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_constpow__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_constpow"
// call: "        casadi::DM ret = constpow(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_constpow__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_constpow__2(std::string ** err_msg, 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 = constpow(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;
    }
}


// ================== function "casadi::casadi_constpow" ===============
// cppName: "casadi::casadi_constpow"
// cWrapperName: "casadi_constpow__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_constpow__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_constpow"
// call: "        casadi::IM ret = constpow(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_constpow__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_constpow__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = constpow(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;
    }
}


// ================== function "casadi::casadi_constpow" ===============
// cppName: "casadi::casadi_constpow"
// cWrapperName: "casadi_constpow__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_constpow__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_constpow"
// call: "        casadi::MX ret = constpow(x0_, x1_);"
extern "C"
casadi::MX*
    casadi_constpow__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi_constpow__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = constpow(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;
    }
}


// ================== function "casadi::casadi_copysign" ===============
// cppName: "casadi::casadi_copysign"
// cWrapperName: "casadi_copysign__0"
// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_, x1_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_copysign__0(std::string ** err_msg, double* x0, double* x1)"
// friendWrap: True
// fName: "casadi_copysign"
// call: "        double ret = copysign(x0_, x1_);"
extern "C"
double
    casadi_copysign__0(std::string ** err_msg, double* x0, double* x1);
double
    casadi_copysign__0(std::string ** err_msg, double* x0, double* x1){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);
        double& x1_ = Marshaling<double&,double*>::marshal(x1);

        double ret = copysign(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;
    }
}


// ================== function "casadi::casadi_copysign" ===============
// cppName: "casadi::casadi_copysign"
// cWrapperName: "casadi_copysign__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_copysign__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_copysign"
// call: "        casadi::SX ret = copysign(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_copysign__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_copysign__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = copysign(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;
    }
}


// ================== function "casadi::casadi_copysign" ===============
// cppName: "casadi::casadi_copysign"
// cWrapperName: "casadi_copysign__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_copysign__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_copysign"
// call: "        casadi::DM ret = copysign(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_copysign__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_copysign__2(std::string ** err_msg, 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 = copysign(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;
    }
}


// ================== function "casadi::casadi_copysign" ===============
// cppName: "casadi::casadi_copysign"
// cWrapperName: "casadi_copysign__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_copysign__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_copysign"
// call: "        casadi::IM ret = copysign(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_copysign__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_copysign__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = copysign(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;
    }
}


// ================== function "casadi::casadi_copysign" ===============
// cppName: "casadi::casadi_copysign"
// cWrapperName: "casadi_copysign__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_copysign__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_copysign"
// call: "        casadi::MX ret = copysign(x0_, x1_);"
extern "C"
casadi::MX*
    casadi_copysign__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi_copysign__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = copysign(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;
    }
}


// ================== function "casadi::casadi_cos" ===============
// cppName: "casadi::casadi_cos"
// cWrapperName: "casadi_cos__0"
// protoArgs: "(std::string ** err_msg, double* x0)"
// params: [(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_cos__0(std::string ** err_msg, double* x0)"
// friendWrap: True
// fName: "casadi_cos"
// call: "        double ret = cos(x0_);"
extern "C"
double
    casadi_cos__0(std::string ** err_msg, double* x0);
double
    casadi_cos__0(std::string ** err_msg, double* x0){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);

        double ret = cos(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;
    }
}


// ================== function "casadi::casadi_cos" ===============
// cppName: "casadi::casadi_cos"
// cWrapperName: "casadi_cos__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_cos__1(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_cos"
// call: "        casadi::SX ret = cos(x0_);"
extern "C"
casadi::SX*
    casadi_cos__1(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_cos__1(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = cos(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;
    }
}


// ================== function "casadi::casadi_cos" ===============
// cppName: "casadi::casadi_cos"
// cWrapperName: "casadi_cos__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_cos__2(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_cos"
// call: "        casadi::DM ret = cos(x0_);"
extern "C"
casadi::DM*
    casadi_cos__2(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_cos__2(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = cos(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;
    }
}


// ================== function "casadi::casadi_cos" ===============
// cppName: "casadi::casadi_cos"
// cWrapperName: "casadi_cos__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_cos__3(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_cos"
// call: "        casadi::IM ret = cos(x0_);"
extern "C"
casadi::IM*
    casadi_cos__3(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_cos__3(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = cos(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;
    }
}


// ================== function "casadi::casadi_cos" ===============
// cppName: "casadi::casadi_cos"
// cWrapperName: "casadi_cos__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_cos__4(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_cos"
// call: "        casadi::MX ret = cos(x0_);"
extern "C"
casadi::MX*
    casadi_cos__4(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_cos__4(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = cos(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;
    }
}


// ================== function "casadi::casadi_cosh" ===============
// cppName: "casadi::casadi_cosh"
// cWrapperName: "casadi_cosh__0"
// protoArgs: "(std::string ** err_msg, double* x0)"
// params: [(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_cosh__0(std::string ** err_msg, double* x0)"
// friendWrap: True
// fName: "casadi_cosh"
// call: "        double ret = cosh(x0_);"
extern "C"
double
    casadi_cosh__0(std::string ** err_msg, double* x0);
double
    casadi_cosh__0(std::string ** err_msg, double* x0){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);

        double ret = cosh(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;
    }
}


// ================== function "casadi::casadi_cosh" ===============
// cppName: "casadi::casadi_cosh"
// cWrapperName: "casadi_cosh__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_cosh__1(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_cosh"
// call: "        casadi::SX ret = cosh(x0_);"
extern "C"
casadi::SX*
    casadi_cosh__1(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_cosh__1(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = cosh(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;
    }
}


// ================== function "casadi::casadi_cosh" ===============
// cppName: "casadi::casadi_cosh"
// cWrapperName: "casadi_cosh__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_cosh__2(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_cosh"
// call: "        casadi::DM ret = cosh(x0_);"
extern "C"
casadi::DM*
    casadi_cosh__2(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_cosh__2(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = cosh(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;
    }
}


// ================== function "casadi::casadi_cosh" ===============
// cppName: "casadi::casadi_cosh"
// cWrapperName: "casadi_cosh__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_cosh__3(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_cosh"
// call: "        casadi::IM ret = cosh(x0_);"
extern "C"
casadi::IM*
    casadi_cosh__3(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_cosh__3(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = cosh(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;
    }
}


// ================== function "casadi::casadi_cosh" ===============
// cppName: "casadi::casadi_cosh"
// cWrapperName: "casadi_cosh__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_cosh__4(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_cosh"
// call: "        casadi::MX ret = cosh(x0_);"
extern "C"
casadi::MX*
    casadi_cosh__4(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_cosh__4(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = cosh(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;
    }
}


// ================== function "casadi::casadi_cross" ===============
// cppName: "casadi::casadi_cross"
// cWrapperName: "casadi_cross__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_cross__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_cross"
// call: "        casadi::SX ret = cross(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_cross__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_cross__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = cross(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;
    }
}


// ================== function "casadi::casadi_cross" ===============
// cppName: "casadi::casadi_cross"
// cWrapperName: "casadi_cross__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_cross__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, long long x2)"
// friendWrap: True
// fName: "casadi_cross"
// call: "        casadi::SX ret = cross(x0_, x1_, x2_);"
extern "C"
casadi::SX*
    casadi_cross__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, long long x2);
casadi::SX*
    casadi_cross__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, long long x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        casadi::SX ret = cross(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;
    }
}


// ================== function "casadi::casadi_cross" ===============
// cppName: "casadi::casadi_cross"
// cWrapperName: "casadi_cross__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_cross__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_cross"
// call: "        casadi::DM ret = cross(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_cross__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_cross__2(std::string ** err_msg, 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 = cross(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;
    }
}


// ================== function "casadi::casadi_cross" ===============
// cppName: "casadi::casadi_cross"
// cWrapperName: "casadi_cross__3"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_cross__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, long long x2)"
// friendWrap: True
// fName: "casadi_cross"
// call: "        casadi::DM ret = cross(x0_, x1_, x2_);"
extern "C"
casadi::DM*
    casadi_cross__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, long long x2);
casadi::DM*
    casadi_cross__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, long long x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        casadi::DM ret = cross(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;
    }
}


// ================== function "casadi::casadi_cross" ===============
// cppName: "casadi::casadi_cross"
// cWrapperName: "casadi_cross__4"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_cross__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_cross"
// call: "        casadi::IM ret = cross(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_cross__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_cross__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = cross(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;
    }
}


// ================== function "casadi::casadi_cross" ===============
// cppName: "casadi::casadi_cross"
// cWrapperName: "casadi_cross__5"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_cross__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, long long x2)"
// friendWrap: True
// fName: "casadi_cross"
// call: "        casadi::IM ret = cross(x0_, x1_, x2_);"
extern "C"
casadi::IM*
    casadi_cross__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, long long x2);
casadi::IM*
    casadi_cross__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, long long x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        casadi::IM ret = cross(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;
    }
}


// ================== function "casadi::casadi_cross" ===============
// cppName: "casadi::casadi_cross"
// cWrapperName: "casadi_cross__6"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_cross__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_cross"
// call: "        casadi::MX ret = cross(x0_, x1_);"
extern "C"
casadi::MX*
    casadi_cross__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi_cross__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = cross(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;
    }
}


// ================== function "casadi::casadi_cross" ===============
// cppName: "casadi::casadi_cross"
// cWrapperName: "casadi_cross__7"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_cross__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, long long x2)"
// friendWrap: True
// fName: "casadi_cross"
// call: "        casadi::MX ret = cross(x0_, x1_, x2_);"
extern "C"
casadi::MX*
    casadi_cross__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, long long x2);
casadi::MX*
    casadi_cross__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, long long x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        casadi::MX ret = cross(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;
    }
}


// ================== function "casadi::casadi_cumsum" ===============
// cppName: "casadi::casadi_cumsum"
// cWrapperName: "casadi_cumsum__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_cumsum__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_cumsum"
// call: "        casadi::SX ret = cumsum(x0_);"
extern "C"
casadi::SX*
    casadi_cumsum__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_cumsum__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = cumsum(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;
    }
}


// ================== function "casadi::casadi_cumsum" ===============
// cppName: "casadi::casadi_cumsum"
// cWrapperName: "casadi_cumsum__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_cumsum__1(std::string ** err_msg, casadi::SX* x0, long long x1)"
// friendWrap: True
// fName: "casadi_cumsum"
// call: "        casadi::SX ret = cumsum(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_cumsum__1(std::string ** err_msg, casadi::SX* x0, long long x1);
casadi::SX*
    casadi_cumsum__1(std::string ** err_msg, casadi::SX* x0, long long x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::SX ret = cumsum(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;
    }
}


// ================== function "casadi::casadi_cumsum" ===============
// cppName: "casadi::casadi_cumsum"
// cWrapperName: "casadi_cumsum__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_cumsum__2(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_cumsum"
// call: "        casadi::DM ret = cumsum(x0_);"
extern "C"
casadi::DM*
    casadi_cumsum__2(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_cumsum__2(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = cumsum(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;
    }
}


// ================== function "casadi::casadi_cumsum" ===============
// cppName: "casadi::casadi_cumsum"
// cWrapperName: "casadi_cumsum__3"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_cumsum__3(std::string ** err_msg, casadi::DM* x0, long long x1)"
// friendWrap: True
// fName: "casadi_cumsum"
// call: "        casadi::DM ret = cumsum(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_cumsum__3(std::string ** err_msg, casadi::DM* x0, long long x1);
casadi::DM*
    casadi_cumsum__3(std::string ** err_msg, casadi::DM* x0, long long x1){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::DM ret = cumsum(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;
    }
}


// ================== function "casadi::casadi_cumsum" ===============
// cppName: "casadi::casadi_cumsum"
// cWrapperName: "casadi_cumsum__4"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_cumsum__4(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_cumsum"
// call: "        casadi::IM ret = cumsum(x0_);"
extern "C"
casadi::IM*
    casadi_cumsum__4(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_cumsum__4(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = cumsum(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;
    }
}


// ================== function "casadi::casadi_cumsum" ===============
// cppName: "casadi::casadi_cumsum"
// cWrapperName: "casadi_cumsum__5"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_cumsum__5(std::string ** err_msg, casadi::IM* x0, long long x1)"
// friendWrap: True
// fName: "casadi_cumsum"
// call: "        casadi::IM ret = cumsum(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_cumsum__5(std::string ** err_msg, casadi::IM* x0, long long x1);
casadi::IM*
    casadi_cumsum__5(std::string ** err_msg, casadi::IM* x0, long long x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::IM ret = cumsum(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;
    }
}


// ================== function "casadi::casadi_cumsum" ===============
// cppName: "casadi::casadi_cumsum"
// cWrapperName: "casadi_cumsum__6"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_cumsum__6(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_cumsum"
// call: "        casadi::MX ret = cumsum(x0_);"
extern "C"
casadi::MX*
    casadi_cumsum__6(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_cumsum__6(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = cumsum(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;
    }
}


// ================== function "casadi::casadi_cumsum" ===============
// cppName: "casadi::casadi_cumsum"
// cWrapperName: "casadi_cumsum__7"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_cumsum__7(std::string ** err_msg, casadi::MX* x0, long long x1)"
// friendWrap: True
// fName: "casadi_cumsum"
// call: "        casadi::MX ret = cumsum(x0_, x1_);"
extern "C"
casadi::MX*
    casadi_cumsum__7(std::string ** err_msg, casadi::MX* x0, long long x1);
casadi::MX*
    casadi_cumsum__7(std::string ** err_msg, 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);

        casadi::MX ret = cumsum(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;
    }
}


// ================== function "casadi::casadi_densify" ===============
// cppName: "casadi::casadi_densify"
// cWrapperName: "casadi_densify__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_densify__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_densify"
// call: "        casadi::SX ret = densify(x0_);"
extern "C"
casadi::SX*
    casadi_densify__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_densify__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = densify(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;
    }
}


// ================== function "casadi::casadi_densify" ===============
// cppName: "casadi::casadi_densify"
// cWrapperName: "casadi_densify__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_densify__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_densify"
// call: "        casadi::DM ret = densify(x0_);"
extern "C"
casadi::DM*
    casadi_densify__1(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_densify__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = densify(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;
    }
}


// ================== function "casadi::casadi_densify" ===============
// cppName: "casadi::casadi_densify"
// cWrapperName: "casadi_densify__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_densify__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_densify"
// call: "        casadi::IM ret = densify(x0_);"
extern "C"
casadi::IM*
    casadi_densify__2(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_densify__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = densify(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;
    }
}


// ================== function "casadi::casadi_densify" ===============
// cppName: "casadi::casadi_densify"
// cWrapperName: "casadi_densify__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_densify__3(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_densify"
// call: "        casadi::MX ret = densify(x0_);"
extern "C"
casadi::MX*
    casadi_densify__3(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_densify__3(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = densify(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;
    }
}


// ================== function "casadi::casadi_depends_on" ===============
// cppName: "casadi::casadi_depends_on"
// cWrapperName: "casadi_depends_on__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: CBool
// args: "(x0_, x1_)"
// cWrapperRetType: "int"
// proto: "int\n    casadi_depends_on__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_depends_on"
// call: "        bool ret = depends_on(x0_, x1_);"
extern "C"
int
    casadi_depends_on__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
int
    casadi_depends_on__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        bool ret = depends_on(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;
    }
}


// ================== function "casadi::casadi_depends_on" ===============
// cppName: "casadi::casadi_depends_on"
// cWrapperName: "casadi_depends_on__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: CBool
// args: "(x0_, x1_)"
// cWrapperRetType: "int"
// proto: "int\n    casadi_depends_on__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_depends_on"
// call: "        bool ret = depends_on(x0_, x1_);"
extern "C"
int
    casadi_depends_on__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
int
    casadi_depends_on__1(std::string ** err_msg, 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);

        bool ret = depends_on(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;
    }
}


// ================== function "casadi::casadi_depends_on" ===============
// cppName: "casadi::casadi_depends_on"
// cWrapperName: "casadi_depends_on__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: CBool
// args: "(x0_, x1_)"
// cWrapperRetType: "int"
// proto: "int\n    casadi_depends_on__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_depends_on"
// call: "        bool ret = depends_on(x0_, x1_);"
extern "C"
int
    casadi_depends_on__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
int
    casadi_depends_on__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        bool ret = depends_on(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;
    }
}


// ================== function "casadi::casadi_depends_on" ===============
// cppName: "casadi::casadi_depends_on"
// cWrapperName: "casadi_depends_on__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: CBool
// args: "(x0_, x1_)"
// cWrapperRetType: "int"
// proto: "int\n    casadi_depends_on__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_depends_on"
// call: "        bool ret = depends_on(x0_, x1_);"
extern "C"
int
    casadi_depends_on__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
int
    casadi_depends_on__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        bool ret = depends_on(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;
    }
}


// ================== function "casadi::casadi_det" ===============
// cppName: "casadi::casadi_det"
// cWrapperName: "casadi_det__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_det__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_det"
// call: "        casadi::SX ret = det(x0_);"
extern "C"
casadi::SX*
    casadi_det__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_det__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = det(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;
    }
}


// ================== function "casadi::casadi_det" ===============
// cppName: "casadi::casadi_det"
// cWrapperName: "casadi_det__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_det__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_det"
// call: "        casadi::DM ret = det(x0_);"
extern "C"
casadi::DM*
    casadi_det__1(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_det__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = det(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;
    }
}


// ================== function "casadi::casadi_det" ===============
// cppName: "casadi::casadi_det"
// cWrapperName: "casadi_det__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_det__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_det"
// call: "        casadi::IM ret = det(x0_);"
extern "C"
casadi::IM*
    casadi_det__2(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_det__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = det(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;
    }
}


// ================== function "casadi::casadi_det" ===============
// cppName: "casadi::casadi_det"
// cWrapperName: "casadi_det__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_det__3(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_det"
// call: "        casadi::MX ret = det(x0_);"
extern "C"
casadi::MX*
    casadi_det__3(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_det__3(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = det(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;
    }
}


// ================== function "casadi::casadi_diag" ===============
// cppName: "casadi::casadi_diag"
// cWrapperName: "casadi_diag__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_diag__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_diag"
// call: "        casadi::SX ret = diag(x0_);"
extern "C"
casadi::SX*
    casadi_diag__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_diag__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = diag(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;
    }
}


// ================== function "casadi::casadi_diag" ===============
// cppName: "casadi::casadi_diag"
// cWrapperName: "casadi_diag__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_diag__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_diag"
// call: "        casadi::DM ret = diag(x0_);"
extern "C"
casadi::DM*
    casadi_diag__1(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_diag__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = diag(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;
    }
}


// ================== function "casadi::casadi_diag" ===============
// cppName: "casadi::casadi_diag"
// cWrapperName: "casadi_diag__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_diag__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_diag"
// call: "        casadi::IM ret = diag(x0_);"
extern "C"
casadi::IM*
    casadi_diag__2(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_diag__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = diag(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;
    }
}


// ================== function "casadi::casadi_diag" ===============
// cppName: "casadi::casadi_diag"
// cWrapperName: "casadi_diag__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_diag__3(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_diag"
// call: "        casadi::MX ret = diag(x0_);"
extern "C"
casadi::MX*
    casadi_diag__3(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_diag__3(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = diag(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;
    }
}


// ================== function "casadi::casadi_diagcat" ===============
// cppName: "casadi::casadi_diagcat"
// cWrapperName: "casadi_diagcat__0"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_diagcat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
// friendWrap: True
// fName: "casadi_diagcat"
// call: "        casadi::SX ret = diagcat(x0_);"
extern "C"
casadi::SX*
    casadi_diagcat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0);
casadi::SX*
    casadi_diagcat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0){
    try {
        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);

        casadi::SX ret = diagcat(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;
    }
}


// ================== function "casadi::casadi_diagcat" ===============
// cppName: "casadi::casadi_diagcat"
// cWrapperName: "casadi_diagcat__1"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_diagcat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
// friendWrap: True
// fName: "casadi_diagcat"
// call: "        casadi::DM ret = diagcat(x0_);"
extern "C"
casadi::DM*
    casadi_diagcat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0);
casadi::DM*
    casadi_diagcat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0){
    try {
        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);

        casadi::DM ret = diagcat(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;
    }
}


// ================== function "casadi::casadi_diagcat" ===============
// cppName: "casadi::casadi_diagcat"
// cWrapperName: "casadi_diagcat__2"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_diagcat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
// friendWrap: True
// fName: "casadi_diagcat"
// call: "        casadi::IM ret = diagcat(x0_);"
extern "C"
casadi::IM*
    casadi_diagcat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0);
casadi::IM*
    casadi_diagcat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0){
    try {
        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);

        casadi::IM ret = diagcat(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;
    }
}


// ================== function "casadi::casadi_diagcat" ===============
// cppName: "casadi::casadi_diagcat"
// cWrapperName: "casadi_diagcat__3"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_diagcat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
// friendWrap: True
// fName: "casadi_diagcat"
// call: "        casadi::MX ret = diagcat(x0_);"
extern "C"
casadi::MX*
    casadi_diagcat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0);
casadi::MX*
    casadi_diagcat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);

        casadi::MX ret = diagcat(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;
    }
}


// ================== function "casadi::casadi_diagcat" ===============
// cppName: "casadi::casadi_diagcat"
// cWrapperName: "casadi_diagcat__4"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
// args: "(x0_)"
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi_diagcat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
// friendWrap: True
// fName: "casadi_diagcat"
// call: "        casadi::Sparsity ret = diagcat(x0_);"
extern "C"
casadi::Sparsity*
    casadi_diagcat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
casadi::Sparsity*
    casadi_diagcat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
    try {
        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);

        casadi::Sparsity ret = diagcat(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;
    }
}


// ================== function "casadi::casadi_diagsplit" ===============
// cppName: "casadi::casadi_diagsplit"
// cWrapperName: "casadi_diagsplit__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< casadi::SX* >*"
// proto: "std::vector< casadi::SX* >*\n    casadi_diagsplit__0(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2)"
// friendWrap: True
// fName: "casadi_diagsplit"
// call: "        std::vector< casadi::SX > ret = diagsplit(x0_, x1_, x2_);"
extern "C"
std::vector< casadi::SX* >*
    casadi_diagsplit__0(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2);
std::vector< casadi::SX* >*
    casadi_diagsplit__0(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        std::vector< casadi::SX > ret = diagsplit(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;
    }
}


// ================== function "casadi::casadi_diagsplit" ===============
// cppName: "casadi::casadi_diagsplit"
// cWrapperName: "casadi_diagsplit__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
// args: "(x0_)"
// cWrapperRetType: "std::vector< casadi::SX* >*"
// proto: "std::vector< casadi::SX* >*\n    casadi_diagsplit__1(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_diagsplit"
// call: "        std::vector< casadi::SX > ret = diagsplit(x0_);"
extern "C"
std::vector< casadi::SX* >*
    casadi_diagsplit__1(std::string ** err_msg, casadi::SX* x0);
std::vector< casadi::SX* >*
    casadi_diagsplit__1(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        std::vector< casadi::SX > ret = diagsplit(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;
    }
}


// ================== function "casadi::casadi_diagsplit" ===============
// cppName: "casadi::casadi_diagsplit"
// cWrapperName: "casadi_diagsplit__2"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< casadi::SX* >*"
// proto: "std::vector< casadi::SX* >*\n    casadi_diagsplit__2(std::string ** err_msg, casadi::SX* x0, long long x1)"
// friendWrap: True
// fName: "casadi_diagsplit"
// call: "        std::vector< casadi::SX > ret = diagsplit(x0_, x1_);"
extern "C"
std::vector< casadi::SX* >*
    casadi_diagsplit__2(std::string ** err_msg, casadi::SX* x0, long long x1);
std::vector< casadi::SX* >*
    casadi_diagsplit__2(std::string ** err_msg, casadi::SX* x0, long long x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        std::vector< casadi::SX > ret = diagsplit(x0_, x1_);
        // x0 is not a swig output
        // x1 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;
    }
}


// ================== function "casadi::casadi_diagsplit" ===============
// cppName: "casadi::casadi_diagsplit"
// cWrapperName: "casadi_diagsplit__3"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< casadi::SX* >*"
// proto: "std::vector< casadi::SX* >*\n    casadi_diagsplit__3(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1)"
// friendWrap: True
// fName: "casadi_diagsplit"
// call: "        std::vector< casadi::SX > ret = diagsplit(x0_, x1_);"
extern "C"
std::vector< casadi::SX* >*
    casadi_diagsplit__3(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1);
std::vector< casadi::SX* >*
    casadi_diagsplit__3(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);

        std::vector< casadi::SX > ret = diagsplit(x0_, x1_);
        // x0 is not a swig output
        // x1 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;
    }
}


// ================== function "casadi::casadi_diagsplit" ===============
// cppName: "casadi::casadi_diagsplit"
// cWrapperName: "casadi_diagsplit__4"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< casadi::SX* >*"
// proto: "std::vector< casadi::SX* >*\n    casadi_diagsplit__4(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
// friendWrap: True
// fName: "casadi_diagsplit"
// call: "        std::vector< casadi::SX > ret = diagsplit(x0_, x1_, x2_);"
extern "C"
std::vector< casadi::SX* >*
    casadi_diagsplit__4(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1, std::vector< long long >* x2);
std::vector< casadi::SX* >*
    casadi_diagsplit__4(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1, std::vector< long long >* x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::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::vector< casadi::SX > ret = diagsplit(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;
    }
}


// ================== function "casadi::casadi_diagsplit" ===============
// cppName: "casadi::casadi_diagsplit"
// cWrapperName: "casadi_diagsplit__5"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< casadi::DM* >*"
// proto: "std::vector< casadi::DM* >*\n    casadi_diagsplit__5(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2)"
// friendWrap: True
// fName: "casadi_diagsplit"
// call: "        std::vector< casadi::DM > ret = diagsplit(x0_, x1_, x2_);"
extern "C"
std::vector< casadi::DM* >*
    casadi_diagsplit__5(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2);
std::vector< casadi::DM* >*
    casadi_diagsplit__5(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        std::vector< casadi::DM > ret = diagsplit(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;
    }
}


// ================== function "casadi::casadi_diagsplit" ===============
// cppName: "casadi::casadi_diagsplit"
// cWrapperName: "casadi_diagsplit__6"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
// args: "(x0_)"
// cWrapperRetType: "std::vector< casadi::DM* >*"
// proto: "std::vector< casadi::DM* >*\n    casadi_diagsplit__6(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_diagsplit"
// call: "        std::vector< casadi::DM > ret = diagsplit(x0_);"
extern "C"
std::vector< casadi::DM* >*
    casadi_diagsplit__6(std::string ** err_msg, casadi::DM* x0);
std::vector< casadi::DM* >*
    casadi_diagsplit__6(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        std::vector< casadi::DM > ret = diagsplit(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;
    }
}


// ================== function "casadi::casadi_diagsplit" ===============
// cppName: "casadi::casadi_diagsplit"
// cWrapperName: "casadi_diagsplit__7"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< casadi::DM* >*"
// proto: "std::vector< casadi::DM* >*\n    casadi_diagsplit__7(std::string ** err_msg, casadi::DM* x0, long long x1)"
// friendWrap: True
// fName: "casadi_diagsplit"
// call: "        std::vector< casadi::DM > ret = diagsplit(x0_, x1_);"
extern "C"
std::vector< casadi::DM* >*
    casadi_diagsplit__7(std::string ** err_msg, casadi::DM* x0, long long x1);
std::vector< casadi::DM* >*
    casadi_diagsplit__7(std::string ** err_msg, casadi::DM* x0, long long x1){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        std::vector< casadi::DM > ret = diagsplit(x0_, x1_);
        // x0 is not a swig output
        // x1 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;
    }
}


// ================== function "casadi::casadi_diagsplit" ===============
// cppName: "casadi::casadi_diagsplit"
// cWrapperName: "casadi_diagsplit__8"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< casadi::DM* >*"
// proto: "std::vector< casadi::DM* >*\n    casadi_diagsplit__8(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1)"
// friendWrap: True
// fName: "casadi_diagsplit"
// call: "        std::vector< casadi::DM > ret = diagsplit(x0_, x1_);"
extern "C"
std::vector< casadi::DM* >*
    casadi_diagsplit__8(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1);
std::vector< casadi::DM* >*
    casadi_diagsplit__8(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);

        std::vector< casadi::DM > ret = diagsplit(x0_, x1_);
        // x0 is not a swig output
        // x1 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;
    }
}


// ================== function "casadi::casadi_diagsplit" ===============
// cppName: "casadi::casadi_diagsplit"
// cWrapperName: "casadi_diagsplit__9"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< casadi::DM* >*"
// proto: "std::vector< casadi::DM* >*\n    casadi_diagsplit__9(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
// friendWrap: True
// fName: "casadi_diagsplit"
// call: "        std::vector< casadi::DM > ret = diagsplit(x0_, x1_, x2_);"
extern "C"
std::vector< casadi::DM* >*
    casadi_diagsplit__9(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1, std::vector< long long >* x2);
std::vector< casadi::DM* >*
    casadi_diagsplit__9(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1, std::vector< long long >* x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::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::vector< casadi::DM > ret = diagsplit(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;
    }
}


// ================== function "casadi::casadi_diagsplit" ===============
// cppName: "casadi::casadi_diagsplit"
// cWrapperName: "casadi_diagsplit__10"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< casadi::IM* >*"
// proto: "std::vector< casadi::IM* >*\n    casadi_diagsplit__10(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2)"
// friendWrap: True
// fName: "casadi_diagsplit"
// call: "        std::vector< casadi::IM > ret = diagsplit(x0_, x1_, x2_);"
extern "C"
std::vector< casadi::IM* >*
    casadi_diagsplit__10(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2);
std::vector< casadi::IM* >*
    casadi_diagsplit__10(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        std::vector< casadi::IM > ret = diagsplit(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;
    }
}


// ================== function "casadi::casadi_diagsplit" ===============
// cppName: "casadi::casadi_diagsplit"
// cWrapperName: "casadi_diagsplit__11"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
// args: "(x0_)"
// cWrapperRetType: "std::vector< casadi::IM* >*"
// proto: "std::vector< casadi::IM* >*\n    casadi_diagsplit__11(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_diagsplit"
// call: "        std::vector< casadi::IM > ret = diagsplit(x0_);"
extern "C"
std::vector< casadi::IM* >*
    casadi_diagsplit__11(std::string ** err_msg, casadi::IM* x0);
std::vector< casadi::IM* >*
    casadi_diagsplit__11(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        std::vector< casadi::IM > ret = diagsplit(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;
    }
}


// ================== function "casadi::casadi_diagsplit" ===============
// cppName: "casadi::casadi_diagsplit"
// cWrapperName: "casadi_diagsplit__12"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< casadi::IM* >*"
// proto: "std::vector< casadi::IM* >*\n    casadi_diagsplit__12(std::string ** err_msg, casadi::IM* x0, long long x1)"
// friendWrap: True
// fName: "casadi_diagsplit"
// call: "        std::vector< casadi::IM > ret = diagsplit(x0_, x1_);"
extern "C"
std::vector< casadi::IM* >*
    casadi_diagsplit__12(std::string ** err_msg, casadi::IM* x0, long long x1);
std::vector< casadi::IM* >*
    casadi_diagsplit__12(std::string ** err_msg, casadi::IM* x0, long long x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        std::vector< casadi::IM > ret = diagsplit(x0_, x1_);
        // x0 is not a swig output
        // x1 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;
    }
}


// ================== function "casadi::casadi_diagsplit" ===============
// cppName: "casadi::casadi_diagsplit"
// cWrapperName: "casadi_diagsplit__13"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< casadi::IM* >*"
// proto: "std::vector< casadi::IM* >*\n    casadi_diagsplit__13(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1)"
// friendWrap: True
// fName: "casadi_diagsplit"
// call: "        std::vector< casadi::IM > ret = diagsplit(x0_, x1_);"
extern "C"
std::vector< casadi::IM* >*
    casadi_diagsplit__13(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1);
std::vector< casadi::IM* >*
    casadi_diagsplit__13(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);

        std::vector< casadi::IM > ret = diagsplit(x0_, x1_);
        // x0 is not a swig output
        // x1 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;
    }
}


// ================== function "casadi::casadi_diagsplit" ===============
// cppName: "casadi::casadi_diagsplit"
// cWrapperName: "casadi_diagsplit__14"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< casadi::IM* >*"
// proto: "std::vector< casadi::IM* >*\n    casadi_diagsplit__14(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
// friendWrap: True
// fName: "casadi_diagsplit"
// call: "        std::vector< casadi::IM > ret = diagsplit(x0_, x1_, x2_);"
extern "C"
std::vector< casadi::IM* >*
    casadi_diagsplit__14(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1, std::vector< long long >* x2);
std::vector< casadi::IM* >*
    casadi_diagsplit__14(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1, std::vector< long long >* x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::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::vector< casadi::IM > ret = diagsplit(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;
    }
}


// ================== function "casadi::casadi_diagsplit" ===============
// cppName: "casadi::casadi_diagsplit"
// cWrapperName: "casadi_diagsplit__15"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi_diagsplit__15(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2)"
// friendWrap: True
// fName: "casadi_diagsplit"
// call: "        std::vector< casadi::MX > ret = diagsplit(x0_, x1_, x2_);"
extern "C"
std::vector< casadi::MX* >*
    casadi_diagsplit__15(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2);
std::vector< casadi::MX* >*
    casadi_diagsplit__15(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        std::vector< casadi::MX > ret = diagsplit(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;
    }
}


// ================== function "casadi::casadi_diagsplit" ===============
// cppName: "casadi::casadi_diagsplit"
// cWrapperName: "casadi_diagsplit__16"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// args: "(x0_)"
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi_diagsplit__16(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_diagsplit"
// call: "        std::vector< casadi::MX > ret = diagsplit(x0_);"
extern "C"
std::vector< casadi::MX* >*
    casadi_diagsplit__16(std::string ** err_msg, casadi::MX* x0);
std::vector< casadi::MX* >*
    casadi_diagsplit__16(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        std::vector< casadi::MX > ret = diagsplit(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;
    }
}


// ================== function "casadi::casadi_diagsplit" ===============
// cppName: "casadi::casadi_diagsplit"
// cWrapperName: "casadi_diagsplit__17"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi_diagsplit__17(std::string ** err_msg, casadi::MX* x0, long long x1)"
// friendWrap: True
// fName: "casadi_diagsplit"
// call: "        std::vector< casadi::MX > ret = diagsplit(x0_, x1_);"
extern "C"
std::vector< casadi::MX* >*
    casadi_diagsplit__17(std::string ** err_msg, casadi::MX* x0, long long x1);
std::vector< casadi::MX* >*
    casadi_diagsplit__17(std::string ** err_msg, 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::vector< casadi::MX > ret = diagsplit(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;
    }
}


// ================== function "casadi::casadi_diagsplit" ===============
// cppName: "casadi::casadi_diagsplit"
// cWrapperName: "casadi_diagsplit__18"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi_diagsplit__18(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1)"
// friendWrap: True
// fName: "casadi_diagsplit"
// call: "        std::vector< casadi::MX > ret = diagsplit(x0_, x1_);"
extern "C"
std::vector< casadi::MX* >*
    casadi_diagsplit__18(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1);
std::vector< casadi::MX* >*
    casadi_diagsplit__18(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);

        std::vector< casadi::MX > ret = diagsplit(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;
    }
}


// ================== function "casadi::casadi_diagsplit" ===============
// cppName: "casadi::casadi_diagsplit"
// cWrapperName: "casadi_diagsplit__19"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi_diagsplit__19(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
// friendWrap: True
// fName: "casadi_diagsplit"
// call: "        std::vector< casadi::MX > ret = diagsplit(x0_, x1_, x2_);"
extern "C"
std::vector< casadi::MX* >*
    casadi_diagsplit__19(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1, std::vector< long long >* x2);
std::vector< casadi::MX* >*
    casadi_diagsplit__19(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1, std::vector< long long >* x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::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::vector< casadi::MX > ret = diagsplit(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;
    }
}


// ================== function "casadi::casadi_diagsplit" ===============
// cppName: "casadi::casadi_diagsplit"
// cWrapperName: "casadi_diagsplit__20"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, long long x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
// proto: "std::vector< casadi::Sparsity* >*\n    casadi_diagsplit__20(std::string ** err_msg, casadi::Sparsity* x0, long long x1, long long x2)"
// friendWrap: True
// fName: "casadi_diagsplit"
// call: "        std::vector< casadi::Sparsity > ret = diagsplit(x0_, x1_, x2_);"
extern "C"
std::vector< casadi::Sparsity* >*
    casadi_diagsplit__20(std::string ** err_msg, casadi::Sparsity* x0, long long x1, long long x2);
std::vector< casadi::Sparsity* >*
    casadi_diagsplit__20(std::string ** err_msg, casadi::Sparsity* x0, long long x1, long long x2){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        std::vector< casadi::Sparsity > ret = diagsplit(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::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_diagsplit" ===============
// cppName: "casadi::casadi_diagsplit"
// cWrapperName: "casadi_diagsplit__21"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// args: "(x0_)"
// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
// proto: "std::vector< casadi::Sparsity* >*\n    casadi_diagsplit__21(std::string ** err_msg, casadi::Sparsity* x0)"
// friendWrap: True
// fName: "casadi_diagsplit"
// call: "        std::vector< casadi::Sparsity > ret = diagsplit(x0_);"
extern "C"
std::vector< casadi::Sparsity* >*
    casadi_diagsplit__21(std::string ** err_msg, casadi::Sparsity* x0);
std::vector< casadi::Sparsity* >*
    casadi_diagsplit__21(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

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

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


// ================== function "casadi::casadi_diagsplit" ===============
// cppName: "casadi::casadi_diagsplit"
// cWrapperName: "casadi_diagsplit__22"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
// proto: "std::vector< casadi::Sparsity* >*\n    casadi_diagsplit__22(std::string ** err_msg, casadi::Sparsity* x0, long long x1)"
// friendWrap: True
// fName: "casadi_diagsplit"
// call: "        std::vector< casadi::Sparsity > ret = diagsplit(x0_, x1_);"
extern "C"
std::vector< casadi::Sparsity* >*
    casadi_diagsplit__22(std::string ** err_msg, casadi::Sparsity* x0, long long x1);
std::vector< casadi::Sparsity* >*
    casadi_diagsplit__22(std::string ** err_msg, 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);

        std::vector< casadi::Sparsity > ret = diagsplit(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

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


// ================== function "casadi::casadi_diagsplit" ===============
// cppName: "casadi::casadi_diagsplit"
// cWrapperName: "casadi_diagsplit__23"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
// proto: "std::vector< casadi::Sparsity* >*\n    casadi_diagsplit__23(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1)"
// friendWrap: True
// fName: "casadi_diagsplit"
// call: "        std::vector< casadi::Sparsity > ret = diagsplit(x0_, x1_);"
extern "C"
std::vector< casadi::Sparsity* >*
    casadi_diagsplit__23(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1);
std::vector< casadi::Sparsity* >*
    casadi_diagsplit__23(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);

        std::vector< casadi::Sparsity > ret = diagsplit(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

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


// ================== function "casadi::casadi_diagsplit" ===============
// cppName: "casadi::casadi_diagsplit"
// cWrapperName: "casadi_diagsplit__24"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
// proto: "std::vector< casadi::Sparsity* >*\n    casadi_diagsplit__24(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1, std::vector< long long >* x2)"
// friendWrap: True
// fName: "casadi_diagsplit"
// call: "        std::vector< casadi::Sparsity > ret = diagsplit(x0_, x1_, x2_);"
extern "C"
std::vector< casadi::Sparsity* >*
    casadi_diagsplit__24(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1, std::vector< long long >* x2);
std::vector< casadi::Sparsity* >*
    casadi_diagsplit__24(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1, std::vector< long long >* x2){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::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::vector< casadi::Sparsity > ret = diagsplit(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::Sparsity* >*, std::vector< casadi::Sparsity > >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_diff" ===============
// cppName: "casadi::casadi_diff"
// cWrapperName: "casadi_diff__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_diff__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_diff"
// call: "        casadi::SX ret = diff(x0_);"
extern "C"
casadi::SX*
    casadi_diff__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_diff__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = diff(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;
    }
}


// ================== function "casadi::casadi_diff" ===============
// cppName: "casadi::casadi_diff"
// cWrapperName: "casadi_diff__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_diff__1(std::string ** err_msg, casadi::SX* x0, long long x1)"
// friendWrap: True
// fName: "casadi_diff"
// call: "        casadi::SX ret = diff(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_diff__1(std::string ** err_msg, casadi::SX* x0, long long x1);
casadi::SX*
    casadi_diff__1(std::string ** err_msg, casadi::SX* x0, long long x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::SX ret = diff(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;
    }
}


// ================== function "casadi::casadi_diff" ===============
// cppName: "casadi::casadi_diff"
// cWrapperName: "casadi_diff__2"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_diff__2(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2)"
// friendWrap: True
// fName: "casadi_diff"
// call: "        casadi::SX ret = diff(x0_, x1_, x2_);"
extern "C"
casadi::SX*
    casadi_diff__2(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2);
casadi::SX*
    casadi_diff__2(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::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 = diff(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;
    }
}


// ================== function "casadi::casadi_diff" ===============
// cppName: "casadi::casadi_diff"
// cWrapperName: "casadi_diff__3"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_diff__3(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_diff"
// call: "        casadi::DM ret = diff(x0_);"
extern "C"
casadi::DM*
    casadi_diff__3(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_diff__3(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = diff(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;
    }
}


// ================== function "casadi::casadi_diff" ===============
// cppName: "casadi::casadi_diff"
// cWrapperName: "casadi_diff__4"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_diff__4(std::string ** err_msg, casadi::DM* x0, long long x1)"
// friendWrap: True
// fName: "casadi_diff"
// call: "        casadi::DM ret = diff(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_diff__4(std::string ** err_msg, casadi::DM* x0, long long x1);
casadi::DM*
    casadi_diff__4(std::string ** err_msg, casadi::DM* x0, long long x1){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::DM ret = diff(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;
    }
}


// ================== function "casadi::casadi_diff" ===============
// cppName: "casadi::casadi_diff"
// cWrapperName: "casadi_diff__5"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_diff__5(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2)"
// friendWrap: True
// fName: "casadi_diff"
// call: "        casadi::DM ret = diff(x0_, x1_, x2_);"
extern "C"
casadi::DM*
    casadi_diff__5(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2);
casadi::DM*
    casadi_diff__5(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::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 = diff(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;
    }
}


// ================== function "casadi::casadi_diff" ===============
// cppName: "casadi::casadi_diff"
// cWrapperName: "casadi_diff__6"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_diff__6(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_diff"
// call: "        casadi::IM ret = diff(x0_);"
extern "C"
casadi::IM*
    casadi_diff__6(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_diff__6(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = diff(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;
    }
}


// ================== function "casadi::casadi_diff" ===============
// cppName: "casadi::casadi_diff"
// cWrapperName: "casadi_diff__7"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_diff__7(std::string ** err_msg, casadi::IM* x0, long long x1)"
// friendWrap: True
// fName: "casadi_diff"
// call: "        casadi::IM ret = diff(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_diff__7(std::string ** err_msg, casadi::IM* x0, long long x1);
casadi::IM*
    casadi_diff__7(std::string ** err_msg, casadi::IM* x0, long long x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::IM ret = diff(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;
    }
}


// ================== function "casadi::casadi_diff" ===============
// cppName: "casadi::casadi_diff"
// cWrapperName: "casadi_diff__8"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_diff__8(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2)"
// friendWrap: True
// fName: "casadi_diff"
// call: "        casadi::IM ret = diff(x0_, x1_, x2_);"
extern "C"
casadi::IM*
    casadi_diff__8(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2);
casadi::IM*
    casadi_diff__8(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::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 = diff(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;
    }
}


// ================== function "casadi::casadi_diff" ===============
// cppName: "casadi::casadi_diff"
// cWrapperName: "casadi_diff__9"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_diff__9(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_diff"
// call: "        casadi::MX ret = diff(x0_);"
extern "C"
casadi::MX*
    casadi_diff__9(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_diff__9(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = diff(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;
    }
}


// ================== function "casadi::casadi_diff" ===============
// cppName: "casadi::casadi_diff"
// cWrapperName: "casadi_diff__10"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_diff__10(std::string ** err_msg, casadi::MX* x0, long long x1)"
// friendWrap: True
// fName: "casadi_diff"
// call: "        casadi::MX ret = diff(x0_, x1_);"
extern "C"
casadi::MX*
    casadi_diff__10(std::string ** err_msg, casadi::MX* x0, long long x1);
casadi::MX*
    casadi_diff__10(std::string ** err_msg, 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);

        casadi::MX ret = diff(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;
    }
}


// ================== function "casadi::casadi_diff" ===============
// cppName: "casadi::casadi_diff"
// cWrapperName: "casadi_diff__11"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_diff__11(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2)"
// friendWrap: True
// fName: "casadi_diff"
// call: "        casadi::MX ret = diff(x0_, x1_, x2_);"
extern "C"
casadi::MX*
    casadi_diff__11(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2);
casadi::MX*
    casadi_diff__11(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::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 = diff(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;
    }
}


// ================== function "casadi::casadi_dot" ===============
// cppName: "casadi::casadi_dot"
// cWrapperName: "casadi_dot__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_dot__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_dot"
// call: "        casadi::SX ret = dot(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_dot__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_dot__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = dot(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;
    }
}


// ================== function "casadi::casadi_dot" ===============
// cppName: "casadi::casadi_dot"
// cWrapperName: "casadi_dot__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_dot__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_dot"
// call: "        casadi::DM ret = dot(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_dot__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_dot__1(std::string ** err_msg, 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 = dot(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;
    }
}


// ================== function "casadi::casadi_dot" ===============
// cppName: "casadi::casadi_dot"
// cWrapperName: "casadi_dot__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_dot__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_dot"
// call: "        casadi::IM ret = dot(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_dot__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_dot__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = dot(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;
    }
}


// ================== function "casadi::casadi_dot" ===============
// cppName: "casadi::casadi_dot"
// cWrapperName: "casadi_dot__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_dot__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_dot"
// call: "        casadi::MX ret = dot(x0_, x1_);"
extern "C"
casadi::MX*
    casadi_dot__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi_dot__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = dot(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;
    }
}


// ================== function "casadi::casadi_eig_symbolic" ===============
// cppName: "casadi::casadi_eig_symbolic"
// cWrapperName: "casadi_eig_symbolic__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_eig_symbolic__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_eig_symbolic"
// call: "        casadi::SX ret = eig_symbolic(x0_);"
extern "C"
casadi::SX*
    casadi_eig_symbolic__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_eig_symbolic__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = eig_symbolic(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;
    }
}


// ================== function "casadi::casadi_eig_symbolic" ===============
// cppName: "casadi::casadi_eig_symbolic"
// cWrapperName: "casadi_eig_symbolic__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_eig_symbolic__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_eig_symbolic"
// call: "        casadi::DM ret = eig_symbolic(x0_);"
extern "C"
casadi::DM*
    casadi_eig_symbolic__1(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_eig_symbolic__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = eig_symbolic(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;
    }
}


// ================== function "casadi::casadi_eig_symbolic" ===============
// cppName: "casadi::casadi_eig_symbolic"
// cWrapperName: "casadi_eig_symbolic__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_eig_symbolic__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_eig_symbolic"
// call: "        casadi::IM ret = eig_symbolic(x0_);"
extern "C"
casadi::IM*
    casadi_eig_symbolic__2(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_eig_symbolic__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = eig_symbolic(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;
    }
}


// ================== function "casadi::casadi_einstein" ===============
// cppName: "casadi::casadi_einstein"
// cWrapperName: "casadi_einstein__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* 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)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),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)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_einstein__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* 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)"
// friendWrap: True
// fName: "casadi_einstein"
// call: "        casadi::SX ret = einstein(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);"
extern "C"
casadi::SX*
    casadi_einstein__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* 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::SX*
    casadi_einstein__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* 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::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::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::SX ret = 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::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_einstein" ===============
// cppName: "casadi::casadi_einstein"
// cWrapperName: "casadi_einstein__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* 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)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),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)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_einstein__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* 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)"
// friendWrap: True
// fName: "casadi_einstein"
// call: "        casadi::SX ret = einstein(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);"
extern "C"
casadi::SX*
    casadi_einstein__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* 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::SX*
    casadi_einstein__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* 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::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
        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::SX ret = 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::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_einstein" ===============
// cppName: "casadi::casadi_einstein"
// cWrapperName: "casadi_einstein__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* 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)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),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)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_einstein__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* 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)"
// friendWrap: True
// fName: "casadi_einstein"
// call: "        casadi::DM ret = einstein(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);"
extern "C"
casadi::DM*
    casadi_einstein__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* 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::DM*
    casadi_einstein__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* 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::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::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::DM ret = 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::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_einstein" ===============
// cppName: "casadi::casadi_einstein"
// cWrapperName: "casadi_einstein__3"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* 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)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),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)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_einstein__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* 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)"
// friendWrap: True
// fName: "casadi_einstein"
// call: "        casadi::DM ret = einstein(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);"
extern "C"
casadi::DM*
    casadi_einstein__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* 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::DM*
    casadi_einstein__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* 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::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::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::DM ret = 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::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_einstein" ===============
// cppName: "casadi::casadi_einstein"
// cWrapperName: "casadi_einstein__4"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* 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)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),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)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_einstein__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* 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)"
// friendWrap: True
// fName: "casadi_einstein"
// call: "        casadi::IM ret = einstein(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);"
extern "C"
casadi::IM*
    casadi_einstein__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* 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::IM*
    casadi_einstein__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* 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::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::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::IM ret = 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::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_einstein" ===============
// cppName: "casadi::casadi_einstein"
// cWrapperName: "casadi_einstein__5"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* 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)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),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)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_einstein__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* 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)"
// friendWrap: True
// fName: "casadi_einstein"
// call: "        casadi::IM ret = einstein(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);"
extern "C"
casadi::IM*
    casadi_einstein__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* 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::IM*
    casadi_einstein__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* 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::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::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::IM ret = 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::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_einstein" ===============
// cppName: "casadi::casadi_einstein"
// cWrapperName: "casadi_einstein__6"
// 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)"
// 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)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_einstein__6(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)"
// friendWrap: True
// fName: "casadi_einstein"
// call: "        casadi::MX ret = einstein(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);"
extern "C"
casadi::MX*
    casadi_einstein__6(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_einstein__6(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 = 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;
    }
}


// ================== function "casadi::casadi_einstein" ===============
// cppName: "casadi::casadi_einstein"
// cWrapperName: "casadi_einstein__7"
// 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)"
// 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)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_einstein__7(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)"
// friendWrap: True
// fName: "casadi_einstein"
// call: "        casadi::MX ret = einstein(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_, x8_);"
extern "C"
casadi::MX*
    casadi_einstein__7(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_einstein__7(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 = 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;
    }
}


// ================== function "casadi::casadi_eq" ===============
// cppName: "casadi::casadi_eq"
// cWrapperName: "casadi_eq__0"
// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_, x1_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_eq__0(std::string ** err_msg, double* x0, double* x1)"
// friendWrap: True
// fName: "casadi_eq"
// call: "        double ret = x0_ == x1_;"
extern "C"
double
    casadi_eq__0(std::string ** err_msg, double* x0, double* x1);
double
    casadi_eq__0(std::string ** err_msg, double* x0, double* x1){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);
        double& x1_ = Marshaling<double&,double*>::marshal(x1);

        double ret = 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;
    }
}


// ================== function "casadi::casadi_eq" ===============
// cppName: "casadi::casadi_eq"
// cWrapperName: "casadi_eq__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_eq__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_eq"
// call: "        casadi::SX ret = x0_ == x1_;"
extern "C"
casadi::SX*
    casadi_eq__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_eq__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = 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;
    }
}


// ================== function "casadi::casadi_eq" ===============
// cppName: "casadi::casadi_eq"
// cWrapperName: "casadi_eq__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_eq__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_eq"
// call: "        casadi::DM ret = x0_ == x1_;"
extern "C"
casadi::DM*
    casadi_eq__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_eq__2(std::string ** err_msg, 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 = 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;
    }
}


// ================== function "casadi::casadi_eq" ===============
// cppName: "casadi::casadi_eq"
// cWrapperName: "casadi_eq__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_eq__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_eq"
// call: "        casadi::IM ret = x0_ == x1_;"
extern "C"
casadi::IM*
    casadi_eq__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_eq__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = 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;
    }
}


// ================== function "casadi::casadi_eq" ===============
// cppName: "casadi::casadi_eq"
// cWrapperName: "casadi_eq__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_eq__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_eq"
// call: "        casadi::MX ret = x0_ == x1_;"
extern "C"
casadi::MX*
    casadi_eq__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi_eq__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = 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;
    }
}


// ================== function "casadi::casadi_erf" ===============
// cppName: "casadi::casadi_erf"
// cWrapperName: "casadi_erf__0"
// protoArgs: "(std::string ** err_msg, double* x0)"
// params: [(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_erf__0(std::string ** err_msg, double* x0)"
// friendWrap: True
// fName: "casadi_erf"
// call: "        double ret = erf(x0_);"
extern "C"
double
    casadi_erf__0(std::string ** err_msg, double* x0);
double
    casadi_erf__0(std::string ** err_msg, double* x0){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);

        double ret = erf(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;
    }
}


// ================== function "casadi::casadi_erf" ===============
// cppName: "casadi::casadi_erf"
// cWrapperName: "casadi_erf__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_erf__1(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_erf"
// call: "        casadi::SX ret = erf(x0_);"
extern "C"
casadi::SX*
    casadi_erf__1(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_erf__1(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = erf(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;
    }
}


// ================== function "casadi::casadi_erf" ===============
// cppName: "casadi::casadi_erf"
// cWrapperName: "casadi_erf__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_erf__2(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_erf"
// call: "        casadi::DM ret = erf(x0_);"
extern "C"
casadi::DM*
    casadi_erf__2(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_erf__2(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = erf(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;
    }
}


// ================== function "casadi::casadi_erf" ===============
// cppName: "casadi::casadi_erf"
// cWrapperName: "casadi_erf__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_erf__3(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_erf"
// call: "        casadi::IM ret = erf(x0_);"
extern "C"
casadi::IM*
    casadi_erf__3(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_erf__3(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = erf(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;
    }
}


// ================== function "casadi::casadi_erf" ===============
// cppName: "casadi::casadi_erf"
// cWrapperName: "casadi_erf__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_erf__4(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_erf"
// call: "        casadi::MX ret = erf(x0_);"
extern "C"
casadi::MX*
    casadi_erf__4(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_erf__4(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = erf(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;
    }
}


// ================== function "casadi::casadi_erfinv" ===============
// cppName: "casadi::casadi_erfinv"
// cWrapperName: "casadi_erfinv__0"
// protoArgs: "(std::string ** err_msg, double* x0)"
// params: [(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_erfinv__0(std::string ** err_msg, double* x0)"
// friendWrap: True
// fName: "casadi_erfinv"
// call: "        double ret = casadi::erfinv(x0_);"
extern "C"
double
    casadi_erfinv__0(std::string ** err_msg, double* x0);
double
    casadi_erfinv__0(std::string ** err_msg, double* x0){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);

        double ret = casadi::erfinv(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;
    }
}


// ================== function "casadi::casadi_erfinv" ===============
// cppName: "casadi::casadi_erfinv"
// cWrapperName: "casadi_erfinv__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_erfinv__1(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_erfinv"
// call: "        casadi::SX ret = erfinv(x0_);"
extern "C"
casadi::SX*
    casadi_erfinv__1(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_erfinv__1(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = erfinv(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;
    }
}


// ================== function "casadi::casadi_erfinv" ===============
// cppName: "casadi::casadi_erfinv"
// cWrapperName: "casadi_erfinv__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_erfinv__2(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_erfinv"
// call: "        casadi::DM ret = erfinv(x0_);"
extern "C"
casadi::DM*
    casadi_erfinv__2(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_erfinv__2(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = erfinv(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;
    }
}


// ================== function "casadi::casadi_erfinv" ===============
// cppName: "casadi::casadi_erfinv"
// cWrapperName: "casadi_erfinv__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_erfinv__3(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_erfinv"
// call: "        casadi::IM ret = erfinv(x0_);"
extern "C"
casadi::IM*
    casadi_erfinv__3(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_erfinv__3(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = erfinv(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;
    }
}


// ================== function "casadi::casadi_erfinv" ===============
// cppName: "casadi::casadi_erfinv"
// cWrapperName: "casadi_erfinv__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_erfinv__4(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_erfinv"
// call: "        casadi::MX ret = erfinv(x0_);"
extern "C"
casadi::MX*
    casadi_erfinv__4(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_erfinv__4(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = erfinv(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;
    }
}


// ================== function "casadi::casadi_evalf" ===============
// cppName: "casadi::casadi_evalf"
// cWrapperName: "casadi_evalf__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_evalf__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_evalf"
// call: "        casadi::DM ret = evalf(x0_);"
extern "C"
casadi::DM*
    casadi_evalf__0(std::string ** err_msg, casadi::SX* x0);
casadi::DM*
    casadi_evalf__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::DM ret = evalf(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;
    }
}


// ================== function "casadi::casadi_evalf" ===============
// cppName: "casadi::casadi_evalf"
// cWrapperName: "casadi_evalf__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_evalf__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_evalf"
// call: "        casadi::DM ret = evalf(x0_);"
extern "C"
casadi::DM*
    casadi_evalf__1(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_evalf__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = evalf(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;
    }
}


// ================== function "casadi::casadi_evalf" ===============
// cppName: "casadi::casadi_evalf"
// cWrapperName: "casadi_evalf__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_evalf__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_evalf"
// call: "        casadi::DM ret = evalf(x0_);"
extern "C"
casadi::DM*
    casadi_evalf__2(std::string ** err_msg, casadi::IM* x0);
casadi::DM*
    casadi_evalf__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::DM ret = evalf(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;
    }
}


// ================== function "casadi::casadi_evalf" ===============
// cppName: "casadi::casadi_evalf"
// cWrapperName: "casadi_evalf__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_evalf__3(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_evalf"
// call: "        casadi::DM ret = evalf(x0_);"
extern "C"
casadi::DM*
    casadi_evalf__3(std::string ** err_msg, casadi::MX* x0);
casadi::DM*
    casadi_evalf__3(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::DM ret = evalf(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;
    }
}


// ================== function "casadi::casadi_exp" ===============
// cppName: "casadi::casadi_exp"
// cWrapperName: "casadi_exp__0"
// protoArgs: "(std::string ** err_msg, double* x0)"
// params: [(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_exp__0(std::string ** err_msg, double* x0)"
// friendWrap: True
// fName: "casadi_exp"
// call: "        double ret = exp(x0_);"
extern "C"
double
    casadi_exp__0(std::string ** err_msg, double* x0);
double
    casadi_exp__0(std::string ** err_msg, double* x0){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);

        double ret = exp(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;
    }
}


// ================== function "casadi::casadi_exp" ===============
// cppName: "casadi::casadi_exp"
// cWrapperName: "casadi_exp__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_exp__1(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_exp"
// call: "        casadi::SX ret = exp(x0_);"
extern "C"
casadi::SX*
    casadi_exp__1(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_exp__1(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = exp(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;
    }
}


// ================== function "casadi::casadi_exp" ===============
// cppName: "casadi::casadi_exp"
// cWrapperName: "casadi_exp__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_exp__2(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_exp"
// call: "        casadi::DM ret = exp(x0_);"
extern "C"
casadi::DM*
    casadi_exp__2(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_exp__2(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = exp(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;
    }
}


// ================== function "casadi::casadi_exp" ===============
// cppName: "casadi::casadi_exp"
// cWrapperName: "casadi_exp__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_exp__3(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_exp"
// call: "        casadi::IM ret = exp(x0_);"
extern "C"
casadi::IM*
    casadi_exp__3(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_exp__3(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = exp(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;
    }
}


// ================== function "casadi::casadi_exp" ===============
// cppName: "casadi::casadi_exp"
// cWrapperName: "casadi_exp__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_exp__4(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_exp"
// call: "        casadi::MX ret = exp(x0_);"
extern "C"
casadi::MX*
    casadi_exp__4(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_exp__4(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = exp(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;
    }
}


// ================== function "casadi::casadi_expand" ===============
// cppName: "casadi::casadi_expand"
// cWrapperName: "casadi_expand__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_expand__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
// friendWrap: True
// fName: "casadi_expand"
// call: "        expand(x0_, x1_, x2_);"
extern "C"
void
    casadi_expand__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
void
    casadi_expand__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);

        expand(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;
    }
}


// ================== function "casadi::casadi_expand" ===============
// cppName: "casadi::casadi_expand"
// cWrapperName: "casadi_expand__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_expand__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
// friendWrap: True
// fName: "casadi_expand"
// call: "        expand(x0_, x1_, x2_);"
extern "C"
void
    casadi_expand__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
void
    casadi_expand__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);

        expand(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;
    }
}


// ================== function "casadi::casadi_expand" ===============
// cppName: "casadi::casadi_expand"
// cWrapperName: "casadi_expand__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_expand__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
// friendWrap: True
// fName: "casadi_expand"
// call: "        expand(x0_, x1_, x2_);"
extern "C"
void
    casadi_expand__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
void
    casadi_expand__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);

        expand(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;
    }
}


// ================== function "casadi::casadi_expm" ===============
// cppName: "casadi::casadi_expm"
// cWrapperName: "casadi_expm__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_expm__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_expm"
// call: "        casadi::SX ret = expm(x0_);"
extern "C"
casadi::SX*
    casadi_expm__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_expm__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = expm(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;
    }
}


// ================== function "casadi::casadi_expm" ===============
// cppName: "casadi::casadi_expm"
// cWrapperName: "casadi_expm__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_expm__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_expm"
// call: "        casadi::DM ret = expm(x0_);"
extern "C"
casadi::DM*
    casadi_expm__1(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_expm__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = expm(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;
    }
}


// ================== function "casadi::casadi_expm" ===============
// cppName: "casadi::casadi_expm"
// cWrapperName: "casadi_expm__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_expm__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_expm"
// call: "        casadi::IM ret = expm(x0_);"
extern "C"
casadi::IM*
    casadi_expm__2(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_expm__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = expm(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;
    }
}


// ================== function "casadi::casadi_expm" ===============
// cppName: "casadi::casadi_expm"
// cWrapperName: "casadi_expm__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_expm__3(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_expm"
// call: "        casadi::MX ret = expm(x0_);"
extern "C"
casadi::MX*
    casadi_expm__3(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_expm__3(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = expm(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;
    }
}


// ================== function "casadi::casadi_expm_const" ===============
// cppName: "casadi::casadi_expm_const"
// cWrapperName: "casadi_expm_const__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_expm_const__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_expm_const"
// call: "        casadi::SX ret = expm_const(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_expm_const__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_expm_const__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = expm_const(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;
    }
}


// ================== function "casadi::casadi_expm_const" ===============
// cppName: "casadi::casadi_expm_const"
// cWrapperName: "casadi_expm_const__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_expm_const__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_expm_const"
// call: "        casadi::DM ret = expm_const(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_expm_const__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_expm_const__1(std::string ** err_msg, 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 = expm_const(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;
    }
}


// ================== function "casadi::casadi_expm_const" ===============
// cppName: "casadi::casadi_expm_const"
// cWrapperName: "casadi_expm_const__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_expm_const__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_expm_const"
// call: "        casadi::IM ret = expm_const(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_expm_const__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_expm_const__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = expm_const(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;
    }
}


// ================== function "casadi::casadi_expm_const" ===============
// cppName: "casadi::casadi_expm_const"
// cWrapperName: "casadi_expm_const__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_expm_const__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_expm_const"
// call: "        casadi::MX ret = expm_const(x0_, x1_);"
extern "C"
casadi::MX*
    casadi_expm_const__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi_expm_const__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = expm_const(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;
    }
}


// ================== function "casadi::casadi_find" ===============
// cppName: "casadi::casadi_find"
// cWrapperName: "casadi_find"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_find(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_find"
// call: "        casadi::MX ret = find(x0_);"
extern "C"
casadi::MX*
    casadi_find(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_find(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = find(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;
    }
}


// ================== function "casadi::casadi_floor" ===============
// cppName: "casadi::casadi_floor"
// cWrapperName: "casadi_floor__0"
// protoArgs: "(std::string ** err_msg, double* x0)"
// params: [(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_floor__0(std::string ** err_msg, double* x0)"
// friendWrap: True
// fName: "casadi_floor"
// call: "        double ret = floor(x0_);"
extern "C"
double
    casadi_floor__0(std::string ** err_msg, double* x0);
double
    casadi_floor__0(std::string ** err_msg, double* x0){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);

        double ret = floor(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;
    }
}


// ================== function "casadi::casadi_floor" ===============
// cppName: "casadi::casadi_floor"
// cWrapperName: "casadi_floor__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_floor__1(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_floor"
// call: "        casadi::SX ret = floor(x0_);"
extern "C"
casadi::SX*
    casadi_floor__1(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_floor__1(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = floor(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;
    }
}


// ================== function "casadi::casadi_floor" ===============
// cppName: "casadi::casadi_floor"
// cWrapperName: "casadi_floor__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_floor__2(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_floor"
// call: "        casadi::DM ret = floor(x0_);"
extern "C"
casadi::DM*
    casadi_floor__2(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_floor__2(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = floor(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;
    }
}


// ================== function "casadi::casadi_floor" ===============
// cppName: "casadi::casadi_floor"
// cWrapperName: "casadi_floor__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_floor__3(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_floor"
// call: "        casadi::IM ret = floor(x0_);"
extern "C"
casadi::IM*
    casadi_floor__3(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_floor__3(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = floor(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;
    }
}


// ================== function "casadi::casadi_floor" ===============
// cppName: "casadi::casadi_floor"
// cWrapperName: "casadi_floor__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_floor__4(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_floor"
// call: "        casadi::MX ret = floor(x0_);"
extern "C"
casadi::MX*
    casadi_floor__4(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_floor__4(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = floor(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;
    }
}


// ================== function "casadi::casadi_fmax" ===============
// cppName: "casadi::casadi_fmax"
// cWrapperName: "casadi_fmax__0"
// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_, x1_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_fmax__0(std::string ** err_msg, double* x0, double* x1)"
// friendWrap: True
// fName: "casadi_fmax"
// call: "        double ret = fmax(x0_, x1_);"
extern "C"
double
    casadi_fmax__0(std::string ** err_msg, double* x0, double* x1);
double
    casadi_fmax__0(std::string ** err_msg, double* x0, double* x1){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);
        double& x1_ = Marshaling<double&,double*>::marshal(x1);

        double ret = fmax(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;
    }
}


// ================== function "casadi::casadi_fmax" ===============
// cppName: "casadi::casadi_fmax"
// cWrapperName: "casadi_fmax__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_fmax__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_fmax"
// call: "        casadi::SX ret = fmax(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_fmax__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_fmax__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = fmax(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;
    }
}


// ================== function "casadi::casadi_fmax" ===============
// cppName: "casadi::casadi_fmax"
// cWrapperName: "casadi_fmax__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_fmax__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_fmax"
// call: "        casadi::DM ret = fmax(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_fmax__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_fmax__2(std::string ** err_msg, 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 = fmax(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;
    }
}


// ================== function "casadi::casadi_fmax" ===============
// cppName: "casadi::casadi_fmax"
// cWrapperName: "casadi_fmax__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_fmax__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_fmax"
// call: "        casadi::IM ret = fmax(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_fmax__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_fmax__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = fmax(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;
    }
}


// ================== function "casadi::casadi_fmax" ===============
// cppName: "casadi::casadi_fmax"
// cWrapperName: "casadi_fmax__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_fmax__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_fmax"
// call: "        casadi::MX ret = fmax(x0_, x1_);"
extern "C"
casadi::MX*
    casadi_fmax__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi_fmax__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = fmax(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;
    }
}


// ================== function "casadi::casadi_fmin" ===============
// cppName: "casadi::casadi_fmin"
// cWrapperName: "casadi_fmin__0"
// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_, x1_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_fmin__0(std::string ** err_msg, double* x0, double* x1)"
// friendWrap: True
// fName: "casadi_fmin"
// call: "        double ret = fmin(x0_, x1_);"
extern "C"
double
    casadi_fmin__0(std::string ** err_msg, double* x0, double* x1);
double
    casadi_fmin__0(std::string ** err_msg, double* x0, double* x1){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);
        double& x1_ = Marshaling<double&,double*>::marshal(x1);

        double ret = fmin(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;
    }
}


// ================== function "casadi::casadi_fmin" ===============
// cppName: "casadi::casadi_fmin"
// cWrapperName: "casadi_fmin__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_fmin__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_fmin"
// call: "        casadi::SX ret = fmin(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_fmin__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_fmin__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = fmin(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;
    }
}


// ================== function "casadi::casadi_fmin" ===============
// cppName: "casadi::casadi_fmin"
// cWrapperName: "casadi_fmin__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_fmin__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_fmin"
// call: "        casadi::DM ret = fmin(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_fmin__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_fmin__2(std::string ** err_msg, 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 = fmin(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;
    }
}


// ================== function "casadi::casadi_fmin" ===============
// cppName: "casadi::casadi_fmin"
// cWrapperName: "casadi_fmin__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_fmin__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_fmin"
// call: "        casadi::IM ret = fmin(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_fmin__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_fmin__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = fmin(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;
    }
}


// ================== function "casadi::casadi_fmin" ===============
// cppName: "casadi::casadi_fmin"
// cWrapperName: "casadi_fmin__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_fmin__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_fmin"
// call: "        casadi::MX ret = fmin(x0_, x1_);"
extern "C"
casadi::MX*
    casadi_fmin__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi_fmin__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = fmin(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;
    }
}


// ================== function "casadi::casadi_forward" ===============
// cppName: "casadi::casadi_forward"
// cWrapperName: "casadi_forward__0"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))),SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< std::vector< casadi::SX* >* >*"
// proto: "std::vector< std::vector< casadi::SX* >* >*\n    casadi_forward__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2)"
// friendWrap: True
// fName: "casadi_forward"
// call: "        std::vector< std::vector< casadi::SX > > ret = forward(x0_, x1_, x2_);"
extern "C"
std::vector< std::vector< casadi::SX* >* >*
    casadi_forward__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2);
std::vector< std::vector< casadi::SX* >* >*
    casadi_forward__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2){
    try {
        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
        std::vector< std::vector< casadi::SX > > x2_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x2);

        std::vector< std::vector< casadi::SX > > ret = forward(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< 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;
    }
}


// ================== function "casadi::casadi_forward" ===============
// cppName: "casadi::casadi_forward"
// cWrapperName: "casadi_forward__1"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "std::vector< std::vector< casadi::SX* >* >*"
// proto: "std::vector< std::vector< casadi::SX* >* >*\n    casadi_forward__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// friendWrap: True
// fName: "casadi_forward"
// call: "        std::vector< std::vector< casadi::SX > > ret = forward(x0_, x1_, x2_, x3_);"
extern "C"
std::vector< std::vector< casadi::SX* >* >*
    casadi_forward__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::map< std::string, casadi::GenericType* >* x3);
std::vector< std::vector< casadi::SX* >* >*
    casadi_forward__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
        std::vector< std::vector< casadi::SX > > x2_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< 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);

        std::vector< std::vector< casadi::SX > > ret = forward(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;
    }
}


// ================== function "casadi::casadi_forward" ===============
// cppName: "casadi::casadi_forward"
// cWrapperName: "casadi_forward__2"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))))),SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< std::vector< casadi::DM* >* >*"
// proto: "std::vector< std::vector< casadi::DM* >* >*\n    casadi_forward__2(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2)"
// friendWrap: True
// fName: "casadi_forward"
// call: "        std::vector< std::vector< casadi::DM > > ret = forward(x0_, x1_, x2_);"
extern "C"
std::vector< std::vector< casadi::DM* >* >*
    casadi_forward__2(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2);
std::vector< std::vector< casadi::DM* >* >*
    casadi_forward__2(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2){
    try {
        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
        std::vector< std::vector< casadi::DM > > x2_ = Marshaling<std::vector< std::vector< casadi::DM > >,std::vector< std::vector< casadi::DM* >* >*>::marshal(x2);

        std::vector< std::vector< casadi::DM > > ret = forward(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< 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;
    }
}


// ================== function "casadi::casadi_forward" ===============
// cppName: "casadi::casadi_forward"
// cWrapperName: "casadi_forward__3"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "std::vector< std::vector< casadi::DM* >* >*"
// proto: "std::vector< std::vector< casadi::DM* >* >*\n    casadi_forward__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// friendWrap: True
// fName: "casadi_forward"
// call: "        std::vector< std::vector< casadi::DM > > ret = forward(x0_, x1_, x2_, x3_);"
extern "C"
std::vector< std::vector< casadi::DM* >* >*
    casadi_forward__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::map< std::string, casadi::GenericType* >* x3);
std::vector< std::vector< casadi::DM* >* >*
    casadi_forward__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
        std::vector< std::vector< casadi::DM > > x2_ = Marshaling<std::vector< std::vector< casadi::DM > >,std::vector< std::vector< casadi::DM* >* >*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        std::vector< std::vector< casadi::DM > > ret = forward(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;
    }
}


// ================== function "casadi::casadi_forward" ===============
// cppName: "casadi::casadi_forward"
// cWrapperName: "casadi_forward__4"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< std::vector< casadi::IM* >* >* x2)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))))),SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< std::vector< casadi::IM* >* >*"
// proto: "std::vector< std::vector< casadi::IM* >* >*\n    casadi_forward__4(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< std::vector< casadi::IM* >* >* x2)"
// friendWrap: True
// fName: "casadi_forward"
// call: "        std::vector< std::vector< casadi::IM > > ret = forward(x0_, x1_, x2_);"
extern "C"
std::vector< std::vector< casadi::IM* >* >*
    casadi_forward__4(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< std::vector< casadi::IM* >* >* x2);
std::vector< std::vector< casadi::IM* >* >*
    casadi_forward__4(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< std::vector< casadi::IM* >* >* x2){
    try {
        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
        std::vector< casadi::IM > x1_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x1);
        std::vector< std::vector< casadi::IM > > x2_ = Marshaling<std::vector< std::vector< casadi::IM > >,std::vector< std::vector< casadi::IM* >* >*>::marshal(x2);

        std::vector< std::vector< casadi::IM > > ret = forward(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< 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;
    }
}


// ================== function "casadi::casadi_forward" ===============
// cppName: "casadi::casadi_forward"
// cWrapperName: "casadi_forward__5"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< std::vector< casadi::IM* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "std::vector< std::vector< casadi::IM* >* >*"
// proto: "std::vector< std::vector< casadi::IM* >* >*\n    casadi_forward__5(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< std::vector< casadi::IM* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// friendWrap: True
// fName: "casadi_forward"
// call: "        std::vector< std::vector< casadi::IM > > ret = forward(x0_, x1_, x2_, x3_);"
extern "C"
std::vector< std::vector< casadi::IM* >* >*
    casadi_forward__5(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< std::vector< casadi::IM* >* >* x2, std::map< std::string, casadi::GenericType* >* x3);
std::vector< std::vector< casadi::IM* >* >*
    casadi_forward__5(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< std::vector< casadi::IM* >* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
        std::vector< casadi::IM > x1_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x1);
        std::vector< std::vector< casadi::IM > > x2_ = Marshaling<std::vector< std::vector< casadi::IM > >,std::vector< std::vector< casadi::IM* >* >*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        std::vector< std::vector< casadi::IM > > ret = forward(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;
    }
}


// ================== function "casadi::casadi_forward" ===============
// cppName: "casadi::casadi_forward"
// cWrapperName: "casadi_forward__6"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))),SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< std::vector< casadi::MX* >* >*"
// proto: "std::vector< std::vector< casadi::MX* >* >*\n    casadi_forward__6(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2)"
// friendWrap: True
// fName: "casadi_forward"
// call: "        std::vector< std::vector< casadi::MX > > ret = forward(x0_, x1_, x2_);"
extern "C"
std::vector< std::vector< casadi::MX* >* >*
    casadi_forward__6(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2);
std::vector< std::vector< casadi::MX* >* >*
    casadi_forward__6(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
        std::vector< std::vector< casadi::MX > > x2_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x2);

        std::vector< std::vector< casadi::MX > > ret = forward(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< 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;
    }
}


// ================== function "casadi::casadi_forward" ===============
// cppName: "casadi::casadi_forward"
// cWrapperName: "casadi_forward__7"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "std::vector< std::vector< casadi::MX* >* >*"
// proto: "std::vector< std::vector< casadi::MX* >* >*\n    casadi_forward__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// friendWrap: True
// fName: "casadi_forward"
// call: "        std::vector< std::vector< casadi::MX > > ret = forward(x0_, x1_, x2_, x3_);"
extern "C"
std::vector< std::vector< casadi::MX* >* >*
    casadi_forward__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::map< std::string, casadi::GenericType* >* x3);
std::vector< std::vector< casadi::MX* >* >*
    casadi_forward__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
        std::vector< std::vector< casadi::MX > > x2_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< 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);

        std::vector< std::vector< casadi::MX > > ret = forward(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;
    }
}


// ================== function "casadi::casadi_gauss_quadrature" ===============
// cppName: "casadi::casadi_gauss_quadrature"
// cWrapperName: "casadi_gauss_quadrature__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, long long x4, casadi::SX* x5)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_gauss_quadrature__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, long long x4, casadi::SX* x5)"
// friendWrap: True
// fName: "casadi_gauss_quadrature"
// call: "        casadi::SX ret = gauss_quadrature(x0_, x1_, x2_, x3_, x4_, x5_);"
extern "C"
casadi::SX*
    casadi_gauss_quadrature__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, long long x4, casadi::SX* x5);
casadi::SX*
    casadi_gauss_quadrature__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, long long x4, casadi::SX* x5){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
        casadi::SX& x3_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x3);
        long long x4_ = Marshaling<long long,long long>::marshal(x4);
        casadi::SX& x5_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x5);

        casadi::SX ret = gauss_quadrature(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::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_gauss_quadrature" ===============
// cppName: "casadi::casadi_gauss_quadrature"
// cWrapperName: "casadi_gauss_quadrature__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_gauss_quadrature__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3)"
// friendWrap: True
// fName: "casadi_gauss_quadrature"
// call: "        casadi::SX ret = gauss_quadrature(x0_, x1_, x2_, x3_);"
extern "C"
casadi::SX*
    casadi_gauss_quadrature__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3);
casadi::SX*
    casadi_gauss_quadrature__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
        casadi::SX& x3_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x3);

        casadi::SX ret = gauss_quadrature(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;
    }
}


// ================== function "casadi::casadi_gauss_quadrature" ===============
// cppName: "casadi::casadi_gauss_quadrature"
// cWrapperName: "casadi_gauss_quadrature__2"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, long long x4)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_, x3_, x4_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_gauss_quadrature__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, long long x4)"
// friendWrap: True
// fName: "casadi_gauss_quadrature"
// call: "        casadi::SX ret = gauss_quadrature(x0_, x1_, x2_, x3_, x4_);"
extern "C"
casadi::SX*
    casadi_gauss_quadrature__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, long long x4);
casadi::SX*
    casadi_gauss_quadrature__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, long long x4){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
        casadi::SX& x3_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x3);
        long long x4_ = Marshaling<long long,long long>::marshal(x4);

        casadi::SX ret = gauss_quadrature(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;
    }
}


// ================== function "casadi::casadi_gauss_quadrature" ===============
// cppName: "casadi::casadi_gauss_quadrature"
// cWrapperName: "casadi_gauss_quadrature__3"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, long long x4, casadi::DM* x5)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_gauss_quadrature__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, long long x4, casadi::DM* x5)"
// friendWrap: True
// fName: "casadi_gauss_quadrature"
// call: "        casadi::DM ret = gauss_quadrature(x0_, x1_, x2_, x3_, x4_, x5_);"
extern "C"
casadi::DM*
    casadi_gauss_quadrature__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, long long x4, casadi::DM* x5);
casadi::DM*
    casadi_gauss_quadrature__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, long long x4, casadi::DM* x5){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
        casadi::DM& x3_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x3);
        long long x4_ = Marshaling<long long,long long>::marshal(x4);
        casadi::DM& x5_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x5);

        casadi::DM ret = gauss_quadrature(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::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_gauss_quadrature" ===============
// cppName: "casadi::casadi_gauss_quadrature"
// cWrapperName: "casadi_gauss_quadrature__4"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_gauss_quadrature__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3)"
// friendWrap: True
// fName: "casadi_gauss_quadrature"
// call: "        casadi::DM ret = gauss_quadrature(x0_, x1_, x2_, x3_);"
extern "C"
casadi::DM*
    casadi_gauss_quadrature__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3);
casadi::DM*
    casadi_gauss_quadrature__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
        casadi::DM& x3_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x3);

        casadi::DM ret = gauss_quadrature(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;
    }
}


// ================== function "casadi::casadi_gauss_quadrature" ===============
// cppName: "casadi::casadi_gauss_quadrature"
// cWrapperName: "casadi_gauss_quadrature__5"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, long long x4)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_, x3_, x4_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_gauss_quadrature__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, long long x4)"
// friendWrap: True
// fName: "casadi_gauss_quadrature"
// call: "        casadi::DM ret = gauss_quadrature(x0_, x1_, x2_, x3_, x4_);"
extern "C"
casadi::DM*
    casadi_gauss_quadrature__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, long long x4);
casadi::DM*
    casadi_gauss_quadrature__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, long long x4){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
        casadi::DM& x3_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x3);
        long long x4_ = Marshaling<long long,long long>::marshal(x4);

        casadi::DM ret = gauss_quadrature(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;
    }
}


// ================== function "casadi::casadi_gauss_quadrature" ===============
// cppName: "casadi::casadi_gauss_quadrature"
// cWrapperName: "casadi_gauss_quadrature__6"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, long long x4, casadi::IM* x5)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_gauss_quadrature__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, long long x4, casadi::IM* x5)"
// friendWrap: True
// fName: "casadi_gauss_quadrature"
// call: "        casadi::IM ret = gauss_quadrature(x0_, x1_, x2_, x3_, x4_, x5_);"
extern "C"
casadi::IM*
    casadi_gauss_quadrature__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, long long x4, casadi::IM* x5);
casadi::IM*
    casadi_gauss_quadrature__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, long long x4, casadi::IM* x5){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
        long long x4_ = Marshaling<long long,long long>::marshal(x4);
        casadi::IM& x5_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x5);

        casadi::IM ret = gauss_quadrature(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::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_gauss_quadrature" ===============
// cppName: "casadi::casadi_gauss_quadrature"
// cWrapperName: "casadi_gauss_quadrature__7"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_gauss_quadrature__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3)"
// friendWrap: True
// fName: "casadi_gauss_quadrature"
// call: "        casadi::IM ret = gauss_quadrature(x0_, x1_, x2_, x3_);"
extern "C"
casadi::IM*
    casadi_gauss_quadrature__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3);
casadi::IM*
    casadi_gauss_quadrature__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);

        casadi::IM ret = gauss_quadrature(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;
    }
}


// ================== function "casadi::casadi_gauss_quadrature" ===============
// cppName: "casadi::casadi_gauss_quadrature"
// cWrapperName: "casadi_gauss_quadrature__8"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, long long x4)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_, x3_, x4_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_gauss_quadrature__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, long long x4)"
// friendWrap: True
// fName: "casadi_gauss_quadrature"
// call: "        casadi::IM ret = gauss_quadrature(x0_, x1_, x2_, x3_, x4_);"
extern "C"
casadi::IM*
    casadi_gauss_quadrature__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, long long x4);
casadi::IM*
    casadi_gauss_quadrature__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, long long x4){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
        long long x4_ = Marshaling<long long,long long>::marshal(x4);

        casadi::IM ret = gauss_quadrature(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;
    }
}


// ================== function "casadi::casadi_ge" ===============
// cppName: "casadi::casadi_ge"
// cWrapperName: "casadi_ge__0"
// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_, x1_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_ge__0(std::string ** err_msg, double* x0, double* x1)"
// friendWrap: True
// fName: "casadi_ge"
// call: "        double ret = x0_ >= x1_;"
extern "C"
double
    casadi_ge__0(std::string ** err_msg, double* x0, double* x1);
double
    casadi_ge__0(std::string ** err_msg, double* x0, double* x1){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);
        double& x1_ = Marshaling<double&,double*>::marshal(x1);

        double ret = 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;
    }
}


// ================== function "casadi::casadi_ge" ===============
// cppName: "casadi::casadi_ge"
// cWrapperName: "casadi_ge__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_ge__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_ge"
// call: "        casadi::SX ret = x0_ >= x1_;"
extern "C"
casadi::SX*
    casadi_ge__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_ge__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = 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;
    }
}


// ================== function "casadi::casadi_ge" ===============
// cppName: "casadi::casadi_ge"
// cWrapperName: "casadi_ge__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_ge__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_ge"
// call: "        casadi::DM ret = x0_ >= x1_;"
extern "C"
casadi::DM*
    casadi_ge__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_ge__2(std::string ** err_msg, 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 = 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;
    }
}


// ================== function "casadi::casadi_ge" ===============
// cppName: "casadi::casadi_ge"
// cWrapperName: "casadi_ge__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_ge__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_ge"
// call: "        casadi::IM ret = x0_ >= x1_;"
extern "C"
casadi::IM*
    casadi_ge__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_ge__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = 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;
    }
}


// ================== function "casadi::casadi_ge" ===============
// cppName: "casadi::casadi_ge"
// cWrapperName: "casadi_ge__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_ge__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_ge"
// call: "        casadi::MX ret = x0_ >= x1_;"
extern "C"
casadi::MX*
    casadi_ge__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi_ge__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = 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;
    }
}


// ================== function "casadi::casadi_gradient" ===============
// cppName: "casadi::casadi_gradient"
// cWrapperName: "casadi_gradient__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_gradient__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_gradient"
// call: "        casadi::SX ret = gradient(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_gradient__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_gradient__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = gradient(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;
    }
}


// ================== function "casadi::casadi_gradient" ===============
// cppName: "casadi::casadi_gradient"
// cWrapperName: "casadi_gradient__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_gradient__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_gradient"
// call: "        casadi::DM ret = gradient(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_gradient__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_gradient__1(std::string ** err_msg, 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 = gradient(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;
    }
}


// ================== function "casadi::casadi_gradient" ===============
// cppName: "casadi::casadi_gradient"
// cWrapperName: "casadi_gradient__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_gradient__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_gradient"
// call: "        casadi::IM ret = gradient(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_gradient__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_gradient__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = gradient(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;
    }
}


// ================== function "casadi::casadi_gradient" ===============
// cppName: "casadi::casadi_gradient"
// cWrapperName: "casadi_gradient__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_gradient__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_gradient"
// call: "        casadi::MX ret = gradient(x0_, x1_);"
extern "C"
casadi::MX*
    casadi_gradient__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi_gradient__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = gradient(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;
    }
}


// ================== function "casadi::casadi_graph_substitute" ===============
// cppName: "casadi::casadi_graph_substitute"
// cWrapperName: "casadi_graph_substitute__0"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi_graph_substitute__0(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
// friendWrap: True
// fName: "casadi_graph_substitute"
// call: "        std::vector< casadi::MX > ret = graph_substitute(x0_, x1_, x2_);"
extern "C"
std::vector< casadi::MX* >*
    casadi_graph_substitute__0(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2);
std::vector< casadi::MX* >*
    casadi_graph_substitute__0(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);

        std::vector< casadi::MX > ret = graph_substitute(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;
    }
}


// ================== function "casadi::casadi_graph_substitute" ===============
// cppName: "casadi::casadi_graph_substitute"
// cWrapperName: "casadi_graph_substitute__1"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_graph_substitute__1(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
// friendWrap: True
// fName: "casadi_graph_substitute"
// call: "        casadi::MX ret = graph_substitute(x0_, x1_, x2_);"
extern "C"
casadi::MX*
    casadi_graph_substitute__1(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2);
casadi::MX*
    casadi_graph_substitute__1(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);

        casadi::MX ret = graph_substitute(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;
    }
}


// ================== function "casadi::casadi_gt" ===============
// cppName: "casadi::casadi_gt"
// cWrapperName: "casadi_gt__0"
// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_, x1_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_gt__0(std::string ** err_msg, double* x0, double* x1)"
// friendWrap: True
// fName: "casadi_gt"
// call: "        double ret = x0_ > x1_;"
extern "C"
double
    casadi_gt__0(std::string ** err_msg, double* x0, double* x1);
double
    casadi_gt__0(std::string ** err_msg, double* x0, double* x1){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);
        double& x1_ = Marshaling<double&,double*>::marshal(x1);

        double ret = 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;
    }
}


// ================== function "casadi::casadi_gt" ===============
// cppName: "casadi::casadi_gt"
// cWrapperName: "casadi_gt__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_gt__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_gt"
// call: "        casadi::SX ret = x0_ > x1_;"
extern "C"
casadi::SX*
    casadi_gt__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_gt__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = 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;
    }
}


// ================== function "casadi::casadi_gt" ===============
// cppName: "casadi::casadi_gt"
// cWrapperName: "casadi_gt__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_gt__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_gt"
// call: "        casadi::DM ret = x0_ > x1_;"
extern "C"
casadi::DM*
    casadi_gt__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_gt__2(std::string ** err_msg, 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 = 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;
    }
}


// ================== function "casadi::casadi_gt" ===============
// cppName: "casadi::casadi_gt"
// cWrapperName: "casadi_gt__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_gt__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_gt"
// call: "        casadi::IM ret = x0_ > x1_;"
extern "C"
casadi::IM*
    casadi_gt__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_gt__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = 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;
    }
}


// ================== function "casadi::casadi_gt" ===============
// cppName: "casadi::casadi_gt"
// cWrapperName: "casadi_gt__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_gt__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_gt"
// call: "        casadi::MX ret = x0_ > x1_;"
extern "C"
casadi::MX*
    casadi_gt__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi_gt__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = 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;
    }
}


// ================== function "casadi::casadi_heaviside" ===============
// cppName: "casadi::casadi_heaviside"
// cWrapperName: "casadi_heaviside__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_heaviside__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_heaviside"
// call: "        casadi::SX ret = heaviside(x0_);"
extern "C"
casadi::SX*
    casadi_heaviside__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_heaviside__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = heaviside(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;
    }
}


// ================== function "casadi::casadi_heaviside" ===============
// cppName: "casadi::casadi_heaviside"
// cWrapperName: "casadi_heaviside__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_heaviside__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_heaviside"
// call: "        casadi::DM ret = heaviside(x0_);"
extern "C"
casadi::DM*
    casadi_heaviside__1(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_heaviside__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = heaviside(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;
    }
}


// ================== function "casadi::casadi_heaviside" ===============
// cppName: "casadi::casadi_heaviside"
// cWrapperName: "casadi_heaviside__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_heaviside__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_heaviside"
// call: "        casadi::IM ret = heaviside(x0_);"
extern "C"
casadi::IM*
    casadi_heaviside__2(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_heaviside__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = heaviside(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;
    }
}


// ================== function "casadi::casadi_hessian" ===============
// cppName: "casadi::casadi_hessian"
// cWrapperName: "casadi_hessian__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_hessian__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
// friendWrap: True
// fName: "casadi_hessian"
// call: "        casadi::SX ret = hessian(x0_, x1_, x2_);"
extern "C"
casadi::SX*
    casadi_hessian__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
casadi::SX*
    casadi_hessian__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);

        casadi::SX ret = hessian(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;
    }
}


// ================== function "casadi::casadi_hessian" ===============
// cppName: "casadi::casadi_hessian"
// cWrapperName: "casadi_hessian__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_hessian__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
// friendWrap: True
// fName: "casadi_hessian"
// call: "        casadi::DM ret = hessian(x0_, x1_, x2_);"
extern "C"
casadi::DM*
    casadi_hessian__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
casadi::DM*
    casadi_hessian__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::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 = hessian(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;
    }
}


// ================== function "casadi::casadi_hessian" ===============
// cppName: "casadi::casadi_hessian"
// cWrapperName: "casadi_hessian__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_hessian__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
// friendWrap: True
// fName: "casadi_hessian"
// call: "        casadi::IM ret = hessian(x0_, x1_, x2_);"
extern "C"
casadi::IM*
    casadi_hessian__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
casadi::IM*
    casadi_hessian__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::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 = hessian(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;
    }
}


// ================== function "casadi::casadi_hessian" ===============
// cppName: "casadi::casadi_hessian"
// cWrapperName: "casadi_hessian__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_hessian__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
// friendWrap: True
// fName: "casadi_hessian"
// call: "        casadi::MX ret = hessian(x0_, x1_, x2_);"
extern "C"
casadi::MX*
    casadi_hessian__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2);
casadi::MX*
    casadi_hessian__3(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 = hessian(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;
    }
}


// ================== function "casadi::casadi_horzcat" ===============
// cppName: "casadi::casadi_horzcat"
// cWrapperName: "casadi_horzcat__0"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_horzcat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
// friendWrap: True
// fName: "casadi_horzcat"
// call: "        casadi::SX ret = horzcat(x0_);"
extern "C"
casadi::SX*
    casadi_horzcat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0);
casadi::SX*
    casadi_horzcat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0){
    try {
        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);

        casadi::SX ret = horzcat(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;
    }
}


// ================== function "casadi::casadi_horzcat" ===============
// cppName: "casadi::casadi_horzcat"
// cWrapperName: "casadi_horzcat__1"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_horzcat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
// friendWrap: True
// fName: "casadi_horzcat"
// call: "        casadi::DM ret = horzcat(x0_);"
extern "C"
casadi::DM*
    casadi_horzcat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0);
casadi::DM*
    casadi_horzcat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0){
    try {
        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);

        casadi::DM ret = horzcat(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;
    }
}


// ================== function "casadi::casadi_horzcat" ===============
// cppName: "casadi::casadi_horzcat"
// cWrapperName: "casadi_horzcat__2"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_horzcat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
// friendWrap: True
// fName: "casadi_horzcat"
// call: "        casadi::IM ret = horzcat(x0_);"
extern "C"
casadi::IM*
    casadi_horzcat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0);
casadi::IM*
    casadi_horzcat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0){
    try {
        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);

        casadi::IM ret = horzcat(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;
    }
}


// ================== function "casadi::casadi_horzcat" ===============
// cppName: "casadi::casadi_horzcat"
// cWrapperName: "casadi_horzcat__3"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_horzcat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
// friendWrap: True
// fName: "casadi_horzcat"
// call: "        casadi::MX ret = horzcat(x0_);"
extern "C"
casadi::MX*
    casadi_horzcat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0);
casadi::MX*
    casadi_horzcat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);

        casadi::MX ret = horzcat(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;
    }
}


// ================== function "casadi::casadi_horzcat" ===============
// cppName: "casadi::casadi_horzcat"
// cWrapperName: "casadi_horzcat__4"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
// args: "(x0_)"
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi_horzcat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
// friendWrap: True
// fName: "casadi_horzcat"
// call: "        casadi::Sparsity ret = horzcat(x0_);"
extern "C"
casadi::Sparsity*
    casadi_horzcat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
casadi::Sparsity*
    casadi_horzcat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
    try {
        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);

        casadi::Sparsity ret = horzcat(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;
    }
}


// ================== function "casadi::casadi_horzsplit" ===============
// cppName: "casadi::casadi_horzsplit"
// cWrapperName: "casadi_horzsplit__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
// args: "(x0_)"
// cWrapperRetType: "std::vector< casadi::SX* >*"
// proto: "std::vector< casadi::SX* >*\n    casadi_horzsplit__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_horzsplit"
// call: "        std::vector< casadi::SX > ret = horzsplit(x0_);"
extern "C"
std::vector< casadi::SX* >*
    casadi_horzsplit__0(std::string ** err_msg, casadi::SX* x0);
std::vector< casadi::SX* >*
    casadi_horzsplit__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        std::vector< casadi::SX > ret = horzsplit(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;
    }
}


// ================== function "casadi::casadi_horzsplit" ===============
// cppName: "casadi::casadi_horzsplit"
// cWrapperName: "casadi_horzsplit__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< casadi::SX* >*"
// proto: "std::vector< casadi::SX* >*\n    casadi_horzsplit__1(std::string ** err_msg, casadi::SX* x0, long long x1)"
// friendWrap: True
// fName: "casadi_horzsplit"
// call: "        std::vector< casadi::SX > ret = horzsplit(x0_, x1_);"
extern "C"
std::vector< casadi::SX* >*
    casadi_horzsplit__1(std::string ** err_msg, casadi::SX* x0, long long x1);
std::vector< casadi::SX* >*
    casadi_horzsplit__1(std::string ** err_msg, casadi::SX* x0, long long x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        std::vector< casadi::SX > ret = horzsplit(x0_, x1_);
        // x0 is not a swig output
        // x1 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;
    }
}


// ================== function "casadi::casadi_horzsplit" ===============
// cppName: "casadi::casadi_horzsplit"
// cWrapperName: "casadi_horzsplit__2"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< casadi::SX* >*"
// proto: "std::vector< casadi::SX* >*\n    casadi_horzsplit__2(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1)"
// friendWrap: True
// fName: "casadi_horzsplit"
// call: "        std::vector< casadi::SX > ret = horzsplit(x0_, x1_);"
extern "C"
std::vector< casadi::SX* >*
    casadi_horzsplit__2(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1);
std::vector< casadi::SX* >*
    casadi_horzsplit__2(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);

        std::vector< casadi::SX > ret = horzsplit(x0_, x1_);
        // x0 is not a swig output
        // x1 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;
    }
}


// ================== function "casadi::casadi_horzsplit" ===============
// cppName: "casadi::casadi_horzsplit"
// cWrapperName: "casadi_horzsplit__3"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
// args: "(x0_)"
// cWrapperRetType: "std::vector< casadi::DM* >*"
// proto: "std::vector< casadi::DM* >*\n    casadi_horzsplit__3(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_horzsplit"
// call: "        std::vector< casadi::DM > ret = horzsplit(x0_);"
extern "C"
std::vector< casadi::DM* >*
    casadi_horzsplit__3(std::string ** err_msg, casadi::DM* x0);
std::vector< casadi::DM* >*
    casadi_horzsplit__3(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        std::vector< casadi::DM > ret = horzsplit(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;
    }
}


// ================== function "casadi::casadi_horzsplit" ===============
// cppName: "casadi::casadi_horzsplit"
// cWrapperName: "casadi_horzsplit__4"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< casadi::DM* >*"
// proto: "std::vector< casadi::DM* >*\n    casadi_horzsplit__4(std::string ** err_msg, casadi::DM* x0, long long x1)"
// friendWrap: True
// fName: "casadi_horzsplit"
// call: "        std::vector< casadi::DM > ret = horzsplit(x0_, x1_);"
extern "C"
std::vector< casadi::DM* >*
    casadi_horzsplit__4(std::string ** err_msg, casadi::DM* x0, long long x1);
std::vector< casadi::DM* >*
    casadi_horzsplit__4(std::string ** err_msg, casadi::DM* x0, long long x1){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        std::vector< casadi::DM > ret = horzsplit(x0_, x1_);
        // x0 is not a swig output
        // x1 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;
    }
}


// ================== function "casadi::casadi_horzsplit" ===============
// cppName: "casadi::casadi_horzsplit"
// cWrapperName: "casadi_horzsplit__5"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< casadi::DM* >*"
// proto: "std::vector< casadi::DM* >*\n    casadi_horzsplit__5(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1)"
// friendWrap: True
// fName: "casadi_horzsplit"
// call: "        std::vector< casadi::DM > ret = horzsplit(x0_, x1_);"
extern "C"
std::vector< casadi::DM* >*
    casadi_horzsplit__5(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1);
std::vector< casadi::DM* >*
    casadi_horzsplit__5(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);

        std::vector< casadi::DM > ret = horzsplit(x0_, x1_);
        // x0 is not a swig output
        // x1 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;
    }
}


// ================== function "casadi::casadi_horzsplit" ===============
// cppName: "casadi::casadi_horzsplit"
// cWrapperName: "casadi_horzsplit__6"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
// args: "(x0_)"
// cWrapperRetType: "std::vector< casadi::IM* >*"
// proto: "std::vector< casadi::IM* >*\n    casadi_horzsplit__6(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_horzsplit"
// call: "        std::vector< casadi::IM > ret = horzsplit(x0_);"
extern "C"
std::vector< casadi::IM* >*
    casadi_horzsplit__6(std::string ** err_msg, casadi::IM* x0);
std::vector< casadi::IM* >*
    casadi_horzsplit__6(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        std::vector< casadi::IM > ret = horzsplit(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;
    }
}


// ================== function "casadi::casadi_horzsplit" ===============
// cppName: "casadi::casadi_horzsplit"
// cWrapperName: "casadi_horzsplit__7"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< casadi::IM* >*"
// proto: "std::vector< casadi::IM* >*\n    casadi_horzsplit__7(std::string ** err_msg, casadi::IM* x0, long long x1)"
// friendWrap: True
// fName: "casadi_horzsplit"
// call: "        std::vector< casadi::IM > ret = horzsplit(x0_, x1_);"
extern "C"
std::vector< casadi::IM* >*
    casadi_horzsplit__7(std::string ** err_msg, casadi::IM* x0, long long x1);
std::vector< casadi::IM* >*
    casadi_horzsplit__7(std::string ** err_msg, casadi::IM* x0, long long x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        std::vector< casadi::IM > ret = horzsplit(x0_, x1_);
        // x0 is not a swig output
        // x1 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;
    }
}


// ================== function "casadi::casadi_horzsplit" ===============
// cppName: "casadi::casadi_horzsplit"
// cWrapperName: "casadi_horzsplit__8"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< casadi::IM* >*"
// proto: "std::vector< casadi::IM* >*\n    casadi_horzsplit__8(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1)"
// friendWrap: True
// fName: "casadi_horzsplit"
// call: "        std::vector< casadi::IM > ret = horzsplit(x0_, x1_);"
extern "C"
std::vector< casadi::IM* >*
    casadi_horzsplit__8(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1);
std::vector< casadi::IM* >*
    casadi_horzsplit__8(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);

        std::vector< casadi::IM > ret = horzsplit(x0_, x1_);
        // x0 is not a swig output
        // x1 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;
    }
}


// ================== function "casadi::casadi_horzsplit" ===============
// cppName: "casadi::casadi_horzsplit"
// cWrapperName: "casadi_horzsplit__9"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// args: "(x0_)"
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi_horzsplit__9(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_horzsplit"
// call: "        std::vector< casadi::MX > ret = horzsplit(x0_);"
extern "C"
std::vector< casadi::MX* >*
    casadi_horzsplit__9(std::string ** err_msg, casadi::MX* x0);
std::vector< casadi::MX* >*
    casadi_horzsplit__9(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        std::vector< casadi::MX > ret = horzsplit(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;
    }
}


// ================== function "casadi::casadi_horzsplit" ===============
// cppName: "casadi::casadi_horzsplit"
// cWrapperName: "casadi_horzsplit__10"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi_horzsplit__10(std::string ** err_msg, casadi::MX* x0, long long x1)"
// friendWrap: True
// fName: "casadi_horzsplit"
// call: "        std::vector< casadi::MX > ret = horzsplit(x0_, x1_);"
extern "C"
std::vector< casadi::MX* >*
    casadi_horzsplit__10(std::string ** err_msg, casadi::MX* x0, long long x1);
std::vector< casadi::MX* >*
    casadi_horzsplit__10(std::string ** err_msg, 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::vector< casadi::MX > ret = horzsplit(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;
    }
}


// ================== function "casadi::casadi_horzsplit" ===============
// cppName: "casadi::casadi_horzsplit"
// cWrapperName: "casadi_horzsplit__11"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi_horzsplit__11(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1)"
// friendWrap: True
// fName: "casadi_horzsplit"
// call: "        std::vector< casadi::MX > ret = horzsplit(x0_, x1_);"
extern "C"
std::vector< casadi::MX* >*
    casadi_horzsplit__11(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1);
std::vector< casadi::MX* >*
    casadi_horzsplit__11(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);

        std::vector< casadi::MX > ret = horzsplit(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;
    }
}


// ================== function "casadi::casadi_horzsplit" ===============
// cppName: "casadi::casadi_horzsplit"
// cWrapperName: "casadi_horzsplit__12"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// args: "(x0_)"
// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
// proto: "std::vector< casadi::Sparsity* >*\n    casadi_horzsplit__12(std::string ** err_msg, casadi::Sparsity* x0)"
// friendWrap: True
// fName: "casadi_horzsplit"
// call: "        std::vector< casadi::Sparsity > ret = horzsplit(x0_);"
extern "C"
std::vector< casadi::Sparsity* >*
    casadi_horzsplit__12(std::string ** err_msg, casadi::Sparsity* x0);
std::vector< casadi::Sparsity* >*
    casadi_horzsplit__12(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

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

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


// ================== function "casadi::casadi_horzsplit" ===============
// cppName: "casadi::casadi_horzsplit"
// cWrapperName: "casadi_horzsplit__13"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
// proto: "std::vector< casadi::Sparsity* >*\n    casadi_horzsplit__13(std::string ** err_msg, casadi::Sparsity* x0, long long x1)"
// friendWrap: True
// fName: "casadi_horzsplit"
// call: "        std::vector< casadi::Sparsity > ret = horzsplit(x0_, x1_);"
extern "C"
std::vector< casadi::Sparsity* >*
    casadi_horzsplit__13(std::string ** err_msg, casadi::Sparsity* x0, long long x1);
std::vector< casadi::Sparsity* >*
    casadi_horzsplit__13(std::string ** err_msg, 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);

        std::vector< casadi::Sparsity > ret = horzsplit(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

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


// ================== function "casadi::casadi_horzsplit" ===============
// cppName: "casadi::casadi_horzsplit"
// cWrapperName: "casadi_horzsplit__14"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
// proto: "std::vector< casadi::Sparsity* >*\n    casadi_horzsplit__14(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1)"
// friendWrap: True
// fName: "casadi_horzsplit"
// call: "        std::vector< casadi::Sparsity > ret = horzsplit(x0_, x1_);"
extern "C"
std::vector< casadi::Sparsity* >*
    casadi_horzsplit__14(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1);
std::vector< casadi::Sparsity* >*
    casadi_horzsplit__14(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);

        std::vector< casadi::Sparsity > ret = horzsplit(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

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


// ================== function "casadi::casadi_if_else" ===============
// cppName: "casadi::casadi_if_else"
// cWrapperName: "casadi_if_else__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_if_else__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
// friendWrap: True
// fName: "casadi_if_else"
// call: "        casadi::SX ret = if_else(x0_, x1_, x2_);"
extern "C"
casadi::SX*
    casadi_if_else__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
casadi::SX*
    casadi_if_else__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);

        casadi::SX ret = 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::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_if_else" ===============
// cppName: "casadi::casadi_if_else"
// cWrapperName: "casadi_if_else__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_if_else__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3)"
// friendWrap: True
// fName: "casadi_if_else"
// call: "        casadi::SX ret = if_else(x0_, x1_, x2_, x3_);"
extern "C"
casadi::SX*
    casadi_if_else__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3);
casadi::SX*
    casadi_if_else__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::SX ret = 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::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_if_else" ===============
// cppName: "casadi::casadi_if_else"
// cWrapperName: "casadi_if_else__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_if_else__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
// friendWrap: True
// fName: "casadi_if_else"
// call: "        casadi::DM ret = if_else(x0_, x1_, x2_);"
extern "C"
casadi::DM*
    casadi_if_else__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
casadi::DM*
    casadi_if_else__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::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 = 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::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_if_else" ===============
// cppName: "casadi::casadi_if_else"
// cWrapperName: "casadi_if_else__3"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_if_else__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3)"
// friendWrap: True
// fName: "casadi_if_else"
// call: "        casadi::DM ret = if_else(x0_, x1_, x2_, x3_);"
extern "C"
casadi::DM*
    casadi_if_else__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3);
casadi::DM*
    casadi_if_else__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::DM ret = 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::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_if_else" ===============
// cppName: "casadi::casadi_if_else"
// cWrapperName: "casadi_if_else__4"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_if_else__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
// friendWrap: True
// fName: "casadi_if_else"
// call: "        casadi::IM ret = if_else(x0_, x1_, x2_);"
extern "C"
casadi::IM*
    casadi_if_else__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
casadi::IM*
    casadi_if_else__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::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 = 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::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_if_else" ===============
// cppName: "casadi::casadi_if_else"
// cWrapperName: "casadi_if_else__5"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_if_else__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3)"
// friendWrap: True
// fName: "casadi_if_else"
// call: "        casadi::IM ret = if_else(x0_, x1_, x2_, x3_);"
extern "C"
casadi::IM*
    casadi_if_else__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3);
casadi::IM*
    casadi_if_else__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::IM ret = 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::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_if_else" ===============
// cppName: "casadi::casadi_if_else"
// cWrapperName: "casadi_if_else__6"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* 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)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_if_else__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
// friendWrap: True
// fName: "casadi_if_else"
// call: "        casadi::MX ret = if_else(x0_, x1_, x2_);"
extern "C"
casadi::MX*
    casadi_if_else__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2);
casadi::MX*
    casadi_if_else__6(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 = 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::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_if_else" ===============
// cppName: "casadi::casadi_if_else"
// cWrapperName: "casadi_if_else__7"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, int x3)"
// 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),(CBool,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_if_else__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, int x3)"
// friendWrap: True
// fName: "casadi_if_else"
// call: "        casadi::MX ret = if_else(x0_, x1_, x2_, x3_);"
extern "C"
casadi::MX*
    casadi_if_else__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, int x3);
casadi::MX*
    casadi_if_else__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, int x3){
    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);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::MX ret = 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::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_inv" ===============
// cppName: "casadi::casadi_inv"
// cWrapperName: "casadi_inv__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::string* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_inv__0(std::string ** err_msg, casadi::SX* x0, std::string* x1)"
// friendWrap: True
// fName: "casadi_inv"
// call: "        casadi::SX ret = inv(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_inv__0(std::string ** err_msg, casadi::SX* x0, std::string* x1);
casadi::SX*
    casadi_inv__0(std::string ** err_msg, casadi::SX* x0, std::string* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::SX ret = inv(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;
    }
}


// ================== function "casadi::casadi_inv" ===============
// cppName: "casadi::casadi_inv"
// cWrapperName: "casadi_inv__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_inv__1(std::string ** err_msg, casadi::SX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
// friendWrap: True
// fName: "casadi_inv"
// call: "        casadi::SX ret = inv(x0_, x1_, x2_);"
extern "C"
casadi::SX*
    casadi_inv__1(std::string ** err_msg, casadi::SX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2);
casadi::SX*
    casadi_inv__1(std::string ** err_msg, casadi::SX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::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::SX ret = inv(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;
    }
}


// ================== function "casadi::casadi_inv" ===============
// cppName: "casadi::casadi_inv"
// cWrapperName: "casadi_inv__2"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_inv__2(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_inv"
// call: "        casadi::SX ret = inv(x0_);"
extern "C"
casadi::SX*
    casadi_inv__2(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_inv__2(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = inv(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;
    }
}


// ================== function "casadi::casadi_inv" ===============
// cppName: "casadi::casadi_inv"
// cWrapperName: "casadi_inv__3"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::string* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_inv__3(std::string ** err_msg, casadi::DM* x0, std::string* x1)"
// friendWrap: True
// fName: "casadi_inv"
// call: "        casadi::DM ret = inv(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_inv__3(std::string ** err_msg, casadi::DM* x0, std::string* x1);
casadi::DM*
    casadi_inv__3(std::string ** err_msg, casadi::DM* x0, std::string* x1){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::DM ret = inv(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;
    }
}


// ================== function "casadi::casadi_inv" ===============
// cppName: "casadi::casadi_inv"
// cWrapperName: "casadi_inv__4"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_inv__4(std::string ** err_msg, casadi::DM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
// friendWrap: True
// fName: "casadi_inv"
// call: "        casadi::DM ret = inv(x0_, x1_, x2_);"
extern "C"
casadi::DM*
    casadi_inv__4(std::string ** err_msg, casadi::DM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2);
casadi::DM*
    casadi_inv__4(std::string ** err_msg, casadi::DM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::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::DM ret = inv(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;
    }
}


// ================== function "casadi::casadi_inv" ===============
// cppName: "casadi::casadi_inv"
// cWrapperName: "casadi_inv__5"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_inv__5(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_inv"
// call: "        casadi::DM ret = inv(x0_);"
extern "C"
casadi::DM*
    casadi_inv__5(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_inv__5(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = inv(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;
    }
}


// ================== function "casadi::casadi_inv" ===============
// cppName: "casadi::casadi_inv"
// cWrapperName: "casadi_inv__6"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::string* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_inv__6(std::string ** err_msg, casadi::IM* x0, std::string* x1)"
// friendWrap: True
// fName: "casadi_inv"
// call: "        casadi::IM ret = inv(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_inv__6(std::string ** err_msg, casadi::IM* x0, std::string* x1);
casadi::IM*
    casadi_inv__6(std::string ** err_msg, casadi::IM* x0, std::string* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::IM ret = inv(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;
    }
}


// ================== function "casadi::casadi_inv" ===============
// cppName: "casadi::casadi_inv"
// cWrapperName: "casadi_inv__7"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_inv__7(std::string ** err_msg, casadi::IM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
// friendWrap: True
// fName: "casadi_inv"
// call: "        casadi::IM ret = inv(x0_, x1_, x2_);"
extern "C"
casadi::IM*
    casadi_inv__7(std::string ** err_msg, casadi::IM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2);
casadi::IM*
    casadi_inv__7(std::string ** err_msg, casadi::IM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::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::IM ret = inv(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;
    }
}


// ================== function "casadi::casadi_inv" ===============
// cppName: "casadi::casadi_inv"
// cWrapperName: "casadi_inv__8"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_inv__8(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_inv"
// call: "        casadi::IM ret = inv(x0_);"
extern "C"
casadi::IM*
    casadi_inv__8(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_inv__8(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = inv(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;
    }
}


// ================== function "casadi::casadi_inv" ===============
// cppName: "casadi::casadi_inv"
// cWrapperName: "casadi_inv__9"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::string* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_inv__9(std::string ** err_msg, casadi::MX* x0, std::string* x1)"
// friendWrap: True
// fName: "casadi_inv"
// call: "        casadi::MX ret = inv(x0_, x1_);"
extern "C"
casadi::MX*
    casadi_inv__9(std::string ** err_msg, casadi::MX* x0, std::string* x1);
casadi::MX*
    casadi_inv__9(std::string ** err_msg, casadi::MX* x0, std::string* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::MX ret = inv(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;
    }
}


// ================== function "casadi::casadi_inv" ===============
// cppName: "casadi::casadi_inv"
// cWrapperName: "casadi_inv__10"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_inv__10(std::string ** err_msg, casadi::MX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
// friendWrap: True
// fName: "casadi_inv"
// call: "        casadi::MX ret = inv(x0_, x1_, x2_);"
extern "C"
casadi::MX*
    casadi_inv__10(std::string ** err_msg, casadi::MX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2);
casadi::MX*
    casadi_inv__10(std::string ** err_msg, casadi::MX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::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::MX ret = inv(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;
    }
}


// ================== function "casadi::casadi_inv" ===============
// cppName: "casadi::casadi_inv"
// cWrapperName: "casadi_inv__11"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_inv__11(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_inv"
// call: "        casadi::MX ret = inv(x0_);"
extern "C"
casadi::MX*
    casadi_inv__11(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_inv__11(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = inv(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;
    }
}


// ================== function "casadi::casadi_inv_minor" ===============
// cppName: "casadi::casadi_inv_minor"
// cWrapperName: "casadi_inv_minor__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_inv_minor__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_inv_minor"
// call: "        casadi::SX ret = inv_minor(x0_);"
extern "C"
casadi::SX*
    casadi_inv_minor__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_inv_minor__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = inv_minor(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;
    }
}


// ================== function "casadi::casadi_inv_minor" ===============
// cppName: "casadi::casadi_inv_minor"
// cWrapperName: "casadi_inv_minor__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_inv_minor__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_inv_minor"
// call: "        casadi::DM ret = inv_minor(x0_);"
extern "C"
casadi::DM*
    casadi_inv_minor__1(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_inv_minor__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = inv_minor(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;
    }
}


// ================== function "casadi::casadi_inv_minor" ===============
// cppName: "casadi::casadi_inv_minor"
// cWrapperName: "casadi_inv_minor__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_inv_minor__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_inv_minor"
// call: "        casadi::IM ret = inv_minor(x0_);"
extern "C"
casadi::IM*
    casadi_inv_minor__2(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_inv_minor__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = inv_minor(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;
    }
}


// ================== function "casadi::casadi_inv_minor" ===============
// cppName: "casadi::casadi_inv_minor"
// cWrapperName: "casadi_inv_minor__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_inv_minor__3(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_inv_minor"
// call: "        casadi::MX ret = inv_minor(x0_);"
extern "C"
casadi::MX*
    casadi_inv_minor__3(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_inv_minor__3(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = inv_minor(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;
    }
}


// ================== function "casadi::casadi_inv_node" ===============
// cppName: "casadi::casadi_inv_node"
// cWrapperName: "casadi_inv_node"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_inv_node(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_inv_node"
// call: "        casadi::MX ret = inv_node(x0_);"
extern "C"
casadi::MX*
    casadi_inv_node(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_inv_node(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = inv_node(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;
    }
}


// ================== function "casadi::casadi_inv_skew" ===============
// cppName: "casadi::casadi_inv_skew"
// cWrapperName: "casadi_inv_skew__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_inv_skew__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_inv_skew"
// call: "        casadi::SX ret = inv_skew(x0_);"
extern "C"
casadi::SX*
    casadi_inv_skew__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_inv_skew__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = inv_skew(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;
    }
}


// ================== function "casadi::casadi_inv_skew" ===============
// cppName: "casadi::casadi_inv_skew"
// cWrapperName: "casadi_inv_skew__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_inv_skew__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_inv_skew"
// call: "        casadi::DM ret = inv_skew(x0_);"
extern "C"
casadi::DM*
    casadi_inv_skew__1(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_inv_skew__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = inv_skew(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;
    }
}


// ================== function "casadi::casadi_inv_skew" ===============
// cppName: "casadi::casadi_inv_skew"
// cWrapperName: "casadi_inv_skew__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_inv_skew__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_inv_skew"
// call: "        casadi::IM ret = inv_skew(x0_);"
extern "C"
casadi::IM*
    casadi_inv_skew__2(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_inv_skew__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = inv_skew(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;
    }
}


// ================== function "casadi::casadi_inv_skew" ===============
// cppName: "casadi::casadi_inv_skew"
// cWrapperName: "casadi_inv_skew__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_inv_skew__3(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_inv_skew"
// call: "        casadi::MX ret = inv_skew(x0_);"
extern "C"
casadi::MX*
    casadi_inv_skew__3(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_inv_skew__3(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = inv_skew(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;
    }
}


// ================== function "casadi::casadi_is_equal" ===============
// cppName: "casadi::casadi_is_equal"
// cWrapperName: "casadi_is_equal__0"
// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
// retType: CBool
// args: "(x0_, x1_)"
// cWrapperRetType: "int"
// proto: "int\n    casadi_is_equal__0(std::string ** err_msg, double* x0, double* x1)"
// friendWrap: True
// fName: "casadi_is_equal"
// call: "        bool ret = casadi::is_equal(x0_, x1_);"
extern "C"
int
    casadi_is_equal__0(std::string ** err_msg, double* x0, double* x1);
int
    casadi_is_equal__0(std::string ** err_msg, double* x0, double* x1){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);
        double& x1_ = Marshaling<double&,double*>::marshal(x1);

        bool ret = casadi::is_equal(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;
    }
}


// ================== function "casadi::casadi_is_equal" ===============
// cppName: "casadi::casadi_is_equal"
// cWrapperName: "casadi_is_equal__1"
// protoArgs: "(std::string ** err_msg, double* x0, double* x1, long long x2)"
// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: CBool
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "int"
// proto: "int\n    casadi_is_equal__1(std::string ** err_msg, double* x0, double* x1, long long x2)"
// friendWrap: True
// fName: "casadi_is_equal"
// call: "        bool ret = casadi::is_equal(x0_, x1_, x2_);"
extern "C"
int
    casadi_is_equal__1(std::string ** err_msg, double* x0, double* x1, long long x2);
int
    casadi_is_equal__1(std::string ** err_msg, double* x0, double* x1, long long x2){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);
        double& x1_ = Marshaling<double&,double*>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

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

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


// ================== function "casadi::casadi_is_equal" ===============
// cppName: "casadi::casadi_is_equal"
// cWrapperName: "casadi_is_equal__2"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: CBool
// args: "(x0_, x1_)"
// cWrapperRetType: "int"
// proto: "int\n    casadi_is_equal__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_is_equal"
// call: "        bool ret = is_equal(x0_, x1_);"
extern "C"
int
    casadi_is_equal__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
int
    casadi_is_equal__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        bool ret = is_equal(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;
    }
}


// ================== function "casadi::casadi_is_equal" ===============
// cppName: "casadi::casadi_is_equal"
// cWrapperName: "casadi_is_equal__3"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: CBool
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "int"
// proto: "int\n    casadi_is_equal__3(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, long long x2)"
// friendWrap: True
// fName: "casadi_is_equal"
// call: "        bool ret = is_equal(x0_, x1_, x2_);"
extern "C"
int
    casadi_is_equal__3(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, long long x2);
int
    casadi_is_equal__3(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, long long x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        bool ret = is_equal(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

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


// ================== function "casadi::casadi_is_equal" ===============
// cppName: "casadi::casadi_is_equal"
// cWrapperName: "casadi_is_equal__4"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: CBool
// args: "(x0_, x1_)"
// cWrapperRetType: "int"
// proto: "int\n    casadi_is_equal__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_is_equal"
// call: "        bool ret = is_equal(x0_, x1_);"
extern "C"
int
    casadi_is_equal__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
int
    casadi_is_equal__4(std::string ** err_msg, 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);

        bool ret = is_equal(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;
    }
}


// ================== function "casadi::casadi_is_equal" ===============
// cppName: "casadi::casadi_is_equal"
// cWrapperName: "casadi_is_equal__5"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: CBool
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "int"
// proto: "int\n    casadi_is_equal__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, long long x2)"
// friendWrap: True
// fName: "casadi_is_equal"
// call: "        bool ret = is_equal(x0_, x1_, x2_);"
extern "C"
int
    casadi_is_equal__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, long long x2);
int
    casadi_is_equal__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, long long x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        bool ret = is_equal(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

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


// ================== function "casadi::casadi_is_equal" ===============
// cppName: "casadi::casadi_is_equal"
// cWrapperName: "casadi_is_equal__6"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: CBool
// args: "(x0_, x1_)"
// cWrapperRetType: "int"
// proto: "int\n    casadi_is_equal__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_is_equal"
// call: "        bool ret = is_equal(x0_, x1_);"
extern "C"
int
    casadi_is_equal__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
int
    casadi_is_equal__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        bool ret = is_equal(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;
    }
}


// ================== function "casadi::casadi_is_equal" ===============
// cppName: "casadi::casadi_is_equal"
// cWrapperName: "casadi_is_equal__7"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: CBool
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "int"
// proto: "int\n    casadi_is_equal__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, long long x2)"
// friendWrap: True
// fName: "casadi_is_equal"
// call: "        bool ret = is_equal(x0_, x1_, x2_);"
extern "C"
int
    casadi_is_equal__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, long long x2);
int
    casadi_is_equal__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, long long x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        bool ret = is_equal(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

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


// ================== function "casadi::casadi_is_equal" ===============
// cppName: "casadi::casadi_is_equal"
// cWrapperName: "casadi_is_equal__8"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: CBool
// args: "(x0_, x1_)"
// cWrapperRetType: "int"
// proto: "int\n    casadi_is_equal__8(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_is_equal"
// call: "        bool ret = is_equal(x0_, x1_);"
extern "C"
int
    casadi_is_equal__8(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
int
    casadi_is_equal__8(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        bool ret = is_equal(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;
    }
}


// ================== function "casadi::casadi_is_equal" ===============
// cppName: "casadi::casadi_is_equal"
// cWrapperName: "casadi_is_equal__9"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: CBool
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "int"
// proto: "int\n    casadi_is_equal__9(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, long long x2)"
// friendWrap: True
// fName: "casadi_is_equal"
// call: "        bool ret = is_equal(x0_, x1_, x2_);"
extern "C"
int
    casadi_is_equal__9(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, long long x2);
int
    casadi_is_equal__9(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, long long x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        bool ret = is_equal(x0_, x1_, x2_);
        // x0 is not a swig output
        // x1 is not a swig output
        // x2 is not a swig output

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


// ================== function "casadi::casadi_is_linear" ===============
// cppName: "casadi::casadi_is_linear"
// cWrapperName: "casadi_is_linear__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: CBool
// args: "(x0_, x1_)"
// cWrapperRetType: "int"
// proto: "int\n    casadi_is_linear__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_is_linear"
// call: "        bool ret = is_linear(x0_, x1_);"
extern "C"
int
    casadi_is_linear__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
int
    casadi_is_linear__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        bool ret = is_linear(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;
    }
}


// ================== function "casadi::casadi_is_linear" ===============
// cppName: "casadi::casadi_is_linear"
// cWrapperName: "casadi_is_linear__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: CBool
// args: "(x0_, x1_)"
// cWrapperRetType: "int"
// proto: "int\n    casadi_is_linear__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_is_linear"
// call: "        bool ret = is_linear(x0_, x1_);"
extern "C"
int
    casadi_is_linear__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
int
    casadi_is_linear__1(std::string ** err_msg, 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);

        bool ret = is_linear(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;
    }
}


// ================== function "casadi::casadi_is_linear" ===============
// cppName: "casadi::casadi_is_linear"
// cWrapperName: "casadi_is_linear__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: CBool
// args: "(x0_, x1_)"
// cWrapperRetType: "int"
// proto: "int\n    casadi_is_linear__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_is_linear"
// call: "        bool ret = is_linear(x0_, x1_);"
extern "C"
int
    casadi_is_linear__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
int
    casadi_is_linear__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        bool ret = is_linear(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;
    }
}


// ================== function "casadi::casadi_is_linear" ===============
// cppName: "casadi::casadi_is_linear"
// cWrapperName: "casadi_is_linear__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: CBool
// args: "(x0_, x1_)"
// cWrapperRetType: "int"
// proto: "int\n    casadi_is_linear__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_is_linear"
// call: "        bool ret = is_linear(x0_, x1_);"
extern "C"
int
    casadi_is_linear__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
int
    casadi_is_linear__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        bool ret = is_linear(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;
    }
}


// ================== function "casadi::casadi_is_quadratic" ===============
// cppName: "casadi::casadi_is_quadratic"
// cWrapperName: "casadi_is_quadratic__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: CBool
// args: "(x0_, x1_)"
// cWrapperRetType: "int"
// proto: "int\n    casadi_is_quadratic__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_is_quadratic"
// call: "        bool ret = is_quadratic(x0_, x1_);"
extern "C"
int
    casadi_is_quadratic__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
int
    casadi_is_quadratic__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        bool ret = is_quadratic(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;
    }
}


// ================== function "casadi::casadi_is_quadratic" ===============
// cppName: "casadi::casadi_is_quadratic"
// cWrapperName: "casadi_is_quadratic__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: CBool
// args: "(x0_, x1_)"
// cWrapperRetType: "int"
// proto: "int\n    casadi_is_quadratic__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_is_quadratic"
// call: "        bool ret = is_quadratic(x0_, x1_);"
extern "C"
int
    casadi_is_quadratic__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
int
    casadi_is_quadratic__1(std::string ** err_msg, 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);

        bool ret = is_quadratic(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;
    }
}


// ================== function "casadi::casadi_is_quadratic" ===============
// cppName: "casadi::casadi_is_quadratic"
// cWrapperName: "casadi_is_quadratic__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: CBool
// args: "(x0_, x1_)"
// cWrapperRetType: "int"
// proto: "int\n    casadi_is_quadratic__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_is_quadratic"
// call: "        bool ret = is_quadratic(x0_, x1_);"
extern "C"
int
    casadi_is_quadratic__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
int
    casadi_is_quadratic__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        bool ret = is_quadratic(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;
    }
}


// ================== function "casadi::casadi_is_quadratic" ===============
// cppName: "casadi::casadi_is_quadratic"
// cWrapperName: "casadi_is_quadratic__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: CBool
// args: "(x0_, x1_)"
// cWrapperRetType: "int"
// proto: "int\n    casadi_is_quadratic__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_is_quadratic"
// call: "        bool ret = is_quadratic(x0_, x1_);"
extern "C"
int
    casadi_is_quadratic__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
int
    casadi_is_quadratic__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        bool ret = is_quadratic(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;
    }
}


// ================== function "casadi::casadi_jacobian" ===============
// cppName: "casadi::casadi_jacobian"
// cWrapperName: "casadi_jacobian__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_jacobian__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_jacobian"
// call: "        casadi::SX ret = jacobian(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_jacobian__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_jacobian__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = jacobian(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;
    }
}


// ================== function "casadi::casadi_jacobian" ===============
// cppName: "casadi::casadi_jacobian"
// cWrapperName: "casadi_jacobian__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::map< std::string, casadi::GenericType* >* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_jacobian__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::map< std::string, casadi::GenericType* >* x2)"
// friendWrap: True
// fName: "casadi_jacobian"
// call: "        casadi::SX ret = jacobian(x0_, x1_, x2_);"
extern "C"
casadi::SX*
    casadi_jacobian__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::map< std::string, casadi::GenericType* >* x2);
casadi::SX*
    casadi_jacobian__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::map< std::string, casadi::GenericType* >* x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::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::SX ret = jacobian(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;
    }
}


// ================== function "casadi::casadi_jacobian" ===============
// cppName: "casadi::casadi_jacobian"
// cWrapperName: "casadi_jacobian__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_jacobian__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_jacobian"
// call: "        casadi::DM ret = jacobian(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_jacobian__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_jacobian__2(std::string ** err_msg, 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 = jacobian(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;
    }
}


// ================== function "casadi::casadi_jacobian" ===============
// cppName: "casadi::casadi_jacobian"
// cWrapperName: "casadi_jacobian__3"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::map< std::string, casadi::GenericType* >* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_jacobian__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::map< std::string, casadi::GenericType* >* x2)"
// friendWrap: True
// fName: "casadi_jacobian"
// call: "        casadi::DM ret = jacobian(x0_, x1_, x2_);"
extern "C"
casadi::DM*
    casadi_jacobian__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::map< std::string, casadi::GenericType* >* x2);
casadi::DM*
    casadi_jacobian__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::map< std::string, casadi::GenericType* >* x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::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::DM ret = jacobian(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;
    }
}


// ================== function "casadi::casadi_jacobian" ===============
// cppName: "casadi::casadi_jacobian"
// cWrapperName: "casadi_jacobian__4"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_jacobian__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_jacobian"
// call: "        casadi::IM ret = jacobian(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_jacobian__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_jacobian__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = jacobian(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;
    }
}


// ================== function "casadi::casadi_jacobian" ===============
// cppName: "casadi::casadi_jacobian"
// cWrapperName: "casadi_jacobian__5"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::map< std::string, casadi::GenericType* >* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_jacobian__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::map< std::string, casadi::GenericType* >* x2)"
// friendWrap: True
// fName: "casadi_jacobian"
// call: "        casadi::IM ret = jacobian(x0_, x1_, x2_);"
extern "C"
casadi::IM*
    casadi_jacobian__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::map< std::string, casadi::GenericType* >* x2);
casadi::IM*
    casadi_jacobian__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::map< std::string, casadi::GenericType* >* x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::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::IM ret = jacobian(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;
    }
}


// ================== function "casadi::casadi_jacobian" ===============
// cppName: "casadi::casadi_jacobian"
// cWrapperName: "casadi_jacobian__6"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_jacobian__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_jacobian"
// call: "        casadi::MX ret = jacobian(x0_, x1_);"
extern "C"
casadi::MX*
    casadi_jacobian__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi_jacobian__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = jacobian(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;
    }
}


// ================== function "casadi::casadi_jacobian" ===============
// cppName: "casadi::casadi_jacobian"
// cWrapperName: "casadi_jacobian__7"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::map< std::string, casadi::GenericType* >* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_jacobian__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::map< std::string, casadi::GenericType* >* x2)"
// friendWrap: True
// fName: "casadi_jacobian"
// call: "        casadi::MX ret = jacobian(x0_, x1_, x2_);"
extern "C"
casadi::MX*
    casadi_jacobian__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::map< std::string, casadi::GenericType* >* x2);
casadi::MX*
    casadi_jacobian__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::map< std::string, casadi::GenericType* >* x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::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::MX ret = jacobian(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;
    }
}


// ================== function "casadi::casadi_jtimes" ===============
// cppName: "casadi::casadi_jtimes"
// cWrapperName: "casadi_jtimes__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_jtimes__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
// friendWrap: True
// fName: "casadi_jtimes"
// call: "        casadi::SX ret = jtimes(x0_, x1_, x2_);"
extern "C"
casadi::SX*
    casadi_jtimes__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
casadi::SX*
    casadi_jtimes__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);

        casadi::SX ret = jtimes(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;
    }
}


// ================== function "casadi::casadi_jtimes" ===============
// cppName: "casadi::casadi_jtimes"
// cWrapperName: "casadi_jtimes__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_jtimes__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3)"
// friendWrap: True
// fName: "casadi_jtimes"
// call: "        casadi::SX ret = jtimes(x0_, x1_, x2_, x3_);"
extern "C"
casadi::SX*
    casadi_jtimes__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3);
casadi::SX*
    casadi_jtimes__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, int x3){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::SX ret = jtimes(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;
    }
}


// ================== function "casadi::casadi_jtimes" ===============
// cppName: "casadi::casadi_jtimes"
// cWrapperName: "casadi_jtimes__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_jtimes__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
// friendWrap: True
// fName: "casadi_jtimes"
// call: "        casadi::DM ret = jtimes(x0_, x1_, x2_);"
extern "C"
casadi::DM*
    casadi_jtimes__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
casadi::DM*
    casadi_jtimes__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::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 = jtimes(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;
    }
}


// ================== function "casadi::casadi_jtimes" ===============
// cppName: "casadi::casadi_jtimes"
// cWrapperName: "casadi_jtimes__3"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_jtimes__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3)"
// friendWrap: True
// fName: "casadi_jtimes"
// call: "        casadi::DM ret = jtimes(x0_, x1_, x2_, x3_);"
extern "C"
casadi::DM*
    casadi_jtimes__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3);
casadi::DM*
    casadi_jtimes__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, int x3){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::DM ret = jtimes(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;
    }
}


// ================== function "casadi::casadi_jtimes" ===============
// cppName: "casadi::casadi_jtimes"
// cWrapperName: "casadi_jtimes__4"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_jtimes__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
// friendWrap: True
// fName: "casadi_jtimes"
// call: "        casadi::IM ret = jtimes(x0_, x1_, x2_);"
extern "C"
casadi::IM*
    casadi_jtimes__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
casadi::IM*
    casadi_jtimes__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::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 = jtimes(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;
    }
}


// ================== function "casadi::casadi_jtimes" ===============
// cppName: "casadi::casadi_jtimes"
// cWrapperName: "casadi_jtimes__5"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_jtimes__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3)"
// friendWrap: True
// fName: "casadi_jtimes"
// call: "        casadi::IM ret = jtimes(x0_, x1_, x2_, x3_);"
extern "C"
casadi::IM*
    casadi_jtimes__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3);
casadi::IM*
    casadi_jtimes__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, int x3){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::IM ret = jtimes(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;
    }
}


// ================== function "casadi::casadi_jtimes" ===============
// cppName: "casadi::casadi_jtimes"
// cWrapperName: "casadi_jtimes__6"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* 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)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_jtimes__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
// friendWrap: True
// fName: "casadi_jtimes"
// call: "        casadi::MX ret = jtimes(x0_, x1_, x2_);"
extern "C"
casadi::MX*
    casadi_jtimes__6(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2);
casadi::MX*
    casadi_jtimes__6(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 = jtimes(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;
    }
}


// ================== function "casadi::casadi_jtimes" ===============
// cppName: "casadi::casadi_jtimes"
// cWrapperName: "casadi_jtimes__7"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, int x3)"
// 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),(CBool,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_jtimes__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, int x3)"
// friendWrap: True
// fName: "casadi_jtimes"
// call: "        casadi::MX ret = jtimes(x0_, x1_, x2_, x3_);"
extern "C"
casadi::MX*
    casadi_jtimes__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, int x3);
casadi::MX*
    casadi_jtimes__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, int x3){
    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);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        casadi::MX ret = jtimes(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::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_kron" ===============
// cppName: "casadi::casadi_kron"
// cWrapperName: "casadi_kron__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_kron__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_kron"
// call: "        casadi::SX ret = kron(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_kron__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_kron__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = kron(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;
    }
}


// ================== function "casadi::casadi_kron" ===============
// cppName: "casadi::casadi_kron"
// cWrapperName: "casadi_kron__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_kron__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_kron"
// call: "        casadi::DM ret = kron(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_kron__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_kron__1(std::string ** err_msg, 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 = kron(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;
    }
}


// ================== function "casadi::casadi_kron" ===============
// cppName: "casadi::casadi_kron"
// cWrapperName: "casadi_kron__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_kron__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_kron"
// call: "        casadi::IM ret = kron(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_kron__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_kron__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = kron(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;
    }
}


// ================== function "casadi::casadi_kron" ===============
// cppName: "casadi::casadi_kron"
// cWrapperName: "casadi_kron__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_kron__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_kron"
// call: "        casadi::MX ret = kron(x0_, x1_);"
extern "C"
casadi::MX*
    casadi_kron__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi_kron__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = kron(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;
    }
}


// ================== function "casadi::casadi_kron" ===============
// cppName: "casadi::casadi_kron"
// cWrapperName: "casadi_kron__4"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi_kron__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1)"
// friendWrap: True
// fName: "casadi_kron"
// call: "        casadi::Sparsity ret = kron(x0_, x1_);"
extern "C"
casadi::Sparsity*
    casadi_kron__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1);
casadi::Sparsity*
    casadi_kron__4(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 = kron(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;
    }
}


// ================== function "casadi::casadi_ldivide" ===============
// cppName: "casadi::casadi_ldivide"
// cWrapperName: "casadi_ldivide__0"
// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_, x1_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_ldivide__0(std::string ** err_msg, double* x0, double* x1)"
// friendWrap: True
// fName: "casadi_ldivide"
// call: "        double ret = x0_ / x1_;"
extern "C"
double
    casadi_ldivide__0(std::string ** err_msg, double* x0, double* x1);
double
    casadi_ldivide__0(std::string ** err_msg, double* x0, double* x1){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);
        double& x1_ = Marshaling<double&,double*>::marshal(x1);

        double ret = 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;
    }
}


// ================== function "casadi::casadi_ldivide" ===============
// cppName: "casadi::casadi_ldivide"
// cWrapperName: "casadi_ldivide__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_ldivide__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_ldivide"
// call: "        casadi::SX ret = x0_ / x1_;"
extern "C"
casadi::SX*
    casadi_ldivide__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_ldivide__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = 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;
    }
}


// ================== function "casadi::casadi_ldivide" ===============
// cppName: "casadi::casadi_ldivide"
// cWrapperName: "casadi_ldivide__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_ldivide__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_ldivide"
// call: "        casadi::DM ret = x0_ / x1_;"
extern "C"
casadi::DM*
    casadi_ldivide__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_ldivide__2(std::string ** err_msg, 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 = 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;
    }
}


// ================== function "casadi::casadi_ldivide" ===============
// cppName: "casadi::casadi_ldivide"
// cWrapperName: "casadi_ldivide__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_ldivide__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_ldivide"
// call: "        casadi::IM ret = x0_ / x1_;"
extern "C"
casadi::IM*
    casadi_ldivide__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_ldivide__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = 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;
    }
}


// ================== function "casadi::casadi_ldivide" ===============
// cppName: "casadi::casadi_ldivide"
// cWrapperName: "casadi_ldivide__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_ldivide__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_ldivide"
// call: "        casadi::MX ret = x0_ / x1_;"
extern "C"
casadi::MX*
    casadi_ldivide__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi_ldivide__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = 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;
    }
}


// ================== function "casadi::casadi_ldl" ===============
// cppName: "casadi::casadi_ldl"
// cWrapperName: "casadi_ldl__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, std::vector< long long >* x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_ldl__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, std::vector< long long >* x3)"
// friendWrap: True
// fName: "casadi_ldl"
// call: "        ldl(x0_, x1_, x2_, x3_);"
extern "C"
void
    casadi_ldl__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, std::vector< long long >* x3);
void
    casadi_ldl__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, std::vector< long long >* x3){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);

        ldl(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;
    }
}


// ================== function "casadi::casadi_ldl" ===============
// cppName: "casadi::casadi_ldl"
// cWrapperName: "casadi_ldl__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, std::vector< long long >* x3, int x4)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False),(CBool,SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_, x4_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_ldl__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, std::vector< long long >* x3, int x4)"
// friendWrap: True
// fName: "casadi_ldl"
// call: "        ldl(x0_, x1_, x2_, x3_, x4_);"
extern "C"
void
    casadi_ldl__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, std::vector< long long >* x3, int x4);
void
    casadi_ldl__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, std::vector< long long >* x3, int x4){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);
        bool x4_ = Marshaling<bool,int>::marshal(x4);

        ldl(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;
    }
}


// ================== function "casadi::casadi_ldl" ===============
// cppName: "casadi::casadi_ldl"
// cWrapperName: "casadi_ldl__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, std::vector< long long >* x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_ldl__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, std::vector< long long >* x3)"
// friendWrap: True
// fName: "casadi_ldl"
// call: "        ldl(x0_, x1_, x2_, x3_);"
extern "C"
void
    casadi_ldl__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, std::vector< long long >* x3);
void
    casadi_ldl__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, std::vector< long long >* x3){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);

        ldl(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;
    }
}


// ================== function "casadi::casadi_ldl" ===============
// cppName: "casadi::casadi_ldl"
// cWrapperName: "casadi_ldl__3"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, std::vector< long long >* x3, int x4)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False),(CBool,SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_, x4_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_ldl__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, std::vector< long long >* x3, int x4)"
// friendWrap: True
// fName: "casadi_ldl"
// call: "        ldl(x0_, x1_, x2_, x3_, x4_);"
extern "C"
void
    casadi_ldl__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, std::vector< long long >* x3, int x4);
void
    casadi_ldl__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, std::vector< long long >* x3, int x4){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::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);

        ldl(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;
    }
}


// ================== function "casadi::casadi_ldl" ===============
// cppName: "casadi::casadi_ldl"
// cWrapperName: "casadi_ldl__4"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, std::vector< long long >* x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_ldl__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, std::vector< long long >* x3)"
// friendWrap: True
// fName: "casadi_ldl"
// call: "        ldl(x0_, x1_, x2_, x3_);"
extern "C"
void
    casadi_ldl__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, std::vector< long long >* x3);
void
    casadi_ldl__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, std::vector< long long >* x3){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);

        ldl(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;
    }
}


// ================== function "casadi::casadi_ldl" ===============
// cppName: "casadi::casadi_ldl"
// cWrapperName: "casadi_ldl__5"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, std::vector< long long >* x3, int x4)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False),(CBool,SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_, x4_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_ldl__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, std::vector< long long >* x3, int x4)"
// friendWrap: True
// fName: "casadi_ldl"
// call: "        ldl(x0_, x1_, x2_, x3_, x4_);"
extern "C"
void
    casadi_ldl__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, std::vector< long long >* x3, int x4);
void
    casadi_ldl__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, std::vector< long long >* x3, int x4){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::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);

        ldl(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;
    }
}


// ================== function "casadi::casadi_ldl_solve" ===============
// cppName: "casadi::casadi_ldl_solve"
// cWrapperName: "casadi_ldl_solve__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, std::vector< long long >* x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_ldl_solve__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, std::vector< long long >* x3)"
// friendWrap: True
// fName: "casadi_ldl_solve"
// call: "        casadi::SX ret = ldl_solve(x0_, x1_, x2_, x3_);"
extern "C"
casadi::SX*
    casadi_ldl_solve__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, std::vector< long long >* x3);
casadi::SX*
    casadi_ldl_solve__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, std::vector< long long >* x3){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);

        casadi::SX ret = ldl_solve(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;
    }
}


// ================== function "casadi::casadi_ldl_solve" ===============
// cppName: "casadi::casadi_ldl_solve"
// cWrapperName: "casadi_ldl_solve__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, std::vector< long long >* x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_ldl_solve__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, std::vector< long long >* x3)"
// friendWrap: True
// fName: "casadi_ldl_solve"
// call: "        casadi::DM ret = ldl_solve(x0_, x1_, x2_, x3_);"
extern "C"
casadi::DM*
    casadi_ldl_solve__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, std::vector< long long >* x3);
casadi::DM*
    casadi_ldl_solve__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, std::vector< long long >* x3){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);

        casadi::DM ret = ldl_solve(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;
    }
}


// ================== function "casadi::casadi_ldl_solve" ===============
// cppName: "casadi::casadi_ldl_solve"
// cWrapperName: "casadi_ldl_solve__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, std::vector< long long >* x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_ldl_solve__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, std::vector< long long >* x3)"
// friendWrap: True
// fName: "casadi_ldl_solve"
// call: "        casadi::IM ret = ldl_solve(x0_, x1_, x2_, x3_);"
extern "C"
casadi::IM*
    casadi_ldl_solve__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, std::vector< long long >* x3);
casadi::IM*
    casadi_ldl_solve__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, std::vector< long long >* x3){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        std::vector< long long > x3_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x3);

        casadi::IM ret = ldl_solve(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;
    }
}


// ================== function "casadi::casadi_le" ===============
// cppName: "casadi::casadi_le"
// cWrapperName: "casadi_le__0"
// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_, x1_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_le__0(std::string ** err_msg, double* x0, double* x1)"
// friendWrap: True
// fName: "casadi_le"
// call: "        double ret = x0_ <= x1_;"
extern "C"
double
    casadi_le__0(std::string ** err_msg, double* x0, double* x1);
double
    casadi_le__0(std::string ** err_msg, double* x0, double* x1){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);
        double& x1_ = Marshaling<double&,double*>::marshal(x1);

        double ret = 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;
    }
}


// ================== function "casadi::casadi_le" ===============
// cppName: "casadi::casadi_le"
// cWrapperName: "casadi_le__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_le__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_le"
// call: "        casadi::SX ret = x0_ <= x1_;"
extern "C"
casadi::SX*
    casadi_le__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_le__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = 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;
    }
}


// ================== function "casadi::casadi_le" ===============
// cppName: "casadi::casadi_le"
// cWrapperName: "casadi_le__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_le__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_le"
// call: "        casadi::DM ret = x0_ <= x1_;"
extern "C"
casadi::DM*
    casadi_le__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_le__2(std::string ** err_msg, 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 = 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;
    }
}


// ================== function "casadi::casadi_le" ===============
// cppName: "casadi::casadi_le"
// cWrapperName: "casadi_le__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_le__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_le"
// call: "        casadi::IM ret = x0_ <= x1_;"
extern "C"
casadi::IM*
    casadi_le__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_le__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = 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;
    }
}


// ================== function "casadi::casadi_le" ===============
// cppName: "casadi::casadi_le"
// cWrapperName: "casadi_le__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_le__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_le"
// call: "        casadi::MX ret = x0_ <= x1_;"
extern "C"
casadi::MX*
    casadi_le__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi_le__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = 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;
    }
}


// ================== function "casadi::casadi_linear_coeff" ===============
// cppName: "casadi::casadi_linear_coeff"
// cWrapperName: "casadi_linear_coeff__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_linear_coeff__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3)"
// friendWrap: True
// fName: "casadi_linear_coeff"
// call: "        linear_coeff(x0_, x1_, x2_, x3_);"
extern "C"
void
    casadi_linear_coeff__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3);
void
    casadi_linear_coeff__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
        casadi::SX& x3_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x3);

        linear_coeff(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;
    }
}


// ================== function "casadi::casadi_linear_coeff" ===============
// cppName: "casadi::casadi_linear_coeff"
// cWrapperName: "casadi_linear_coeff__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_linear_coeff__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3)"
// friendWrap: True
// fName: "casadi_linear_coeff"
// call: "        linear_coeff(x0_, x1_, x2_, x3_);"
extern "C"
void
    casadi_linear_coeff__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3);
void
    casadi_linear_coeff__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
        casadi::DM& x3_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x3);

        linear_coeff(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;
    }
}


// ================== function "casadi::casadi_linear_coeff" ===============
// cppName: "casadi::casadi_linear_coeff"
// cWrapperName: "casadi_linear_coeff__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_linear_coeff__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3)"
// friendWrap: True
// fName: "casadi_linear_coeff"
// call: "        linear_coeff(x0_, x1_, x2_, x3_);"
extern "C"
void
    casadi_linear_coeff__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3);
void
    casadi_linear_coeff__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);

        linear_coeff(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;
    }
}


// ================== function "casadi::casadi_linear_coeff" ===============
// cppName: "casadi::casadi_linear_coeff"
// cWrapperName: "casadi_linear_coeff__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_linear_coeff__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3)"
// friendWrap: True
// fName: "casadi_linear_coeff"
// call: "        linear_coeff(x0_, x1_, x2_, x3_);"
extern "C"
void
    casadi_linear_coeff__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3);
void
    casadi_linear_coeff__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3){
    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& x3_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x3);

        linear_coeff(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;
    }
}


// ================== function "casadi::casadi_linearize" ===============
// cppName: "casadi::casadi_linearize"
// cWrapperName: "casadi_linearize__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_linearize__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
// friendWrap: True
// fName: "casadi_linearize"
// call: "        casadi::SX ret = linearize(x0_, x1_, x2_);"
extern "C"
casadi::SX*
    casadi_linearize__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
casadi::SX*
    casadi_linearize__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);

        casadi::SX ret = linearize(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;
    }
}


// ================== function "casadi::casadi_linearize" ===============
// cppName: "casadi::casadi_linearize"
// cWrapperName: "casadi_linearize__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_linearize__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
// friendWrap: True
// fName: "casadi_linearize"
// call: "        casadi::DM ret = linearize(x0_, x1_, x2_);"
extern "C"
casadi::DM*
    casadi_linearize__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
casadi::DM*
    casadi_linearize__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::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 = linearize(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;
    }
}


// ================== function "casadi::casadi_linearize" ===============
// cppName: "casadi::casadi_linearize"
// cWrapperName: "casadi_linearize__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_linearize__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
// friendWrap: True
// fName: "casadi_linearize"
// call: "        casadi::IM ret = linearize(x0_, x1_, x2_);"
extern "C"
casadi::IM*
    casadi_linearize__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
casadi::IM*
    casadi_linearize__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::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 = linearize(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;
    }
}


// ================== function "casadi::casadi_linearize" ===============
// cppName: "casadi::casadi_linearize"
// cWrapperName: "casadi_linearize__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* 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)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_linearize__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
// friendWrap: True
// fName: "casadi_linearize"
// call: "        casadi::MX ret = linearize(x0_, x1_, x2_);"
extern "C"
casadi::MX*
    casadi_linearize__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2);
casadi::MX*
    casadi_linearize__3(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 = linearize(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;
    }
}


// ================== function "casadi::casadi_linspace" ===============
// cppName: "casadi::casadi_linspace"
// cWrapperName: "casadi_linspace__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_linspace__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, long long x2)"
// friendWrap: True
// fName: "casadi_linspace"
// call: "        casadi::SX ret = linspace(x0_, x1_, x2_);"
extern "C"
casadi::SX*
    casadi_linspace__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, long long x2);
casadi::SX*
    casadi_linspace__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, long long x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        casadi::SX ret = linspace(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;
    }
}


// ================== function "casadi::casadi_linspace" ===============
// cppName: "casadi::casadi_linspace"
// cWrapperName: "casadi_linspace__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_linspace__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, long long x2)"
// friendWrap: True
// fName: "casadi_linspace"
// call: "        casadi::DM ret = linspace(x0_, x1_, x2_);"
extern "C"
casadi::DM*
    casadi_linspace__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, long long x2);
casadi::DM*
    casadi_linspace__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, long long x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        casadi::DM ret = linspace(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;
    }
}


// ================== function "casadi::casadi_linspace" ===============
// cppName: "casadi::casadi_linspace"
// cWrapperName: "casadi_linspace__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_linspace__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, long long x2)"
// friendWrap: True
// fName: "casadi_linspace"
// call: "        casadi::IM ret = linspace(x0_, x1_, x2_);"
extern "C"
casadi::IM*
    casadi_linspace__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, long long x2);
casadi::IM*
    casadi_linspace__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, long long x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        casadi::IM ret = linspace(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;
    }
}


// ================== function "casadi::casadi_linspace" ===============
// cppName: "casadi::casadi_linspace"
// cWrapperName: "casadi_linspace__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_linspace__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, long long x2)"
// friendWrap: True
// fName: "casadi_linspace"
// call: "        casadi::MX ret = linspace(x0_, x1_, x2_);"
extern "C"
casadi::MX*
    casadi_linspace__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, long long x2);
casadi::MX*
    casadi_linspace__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, long long x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        casadi::MX ret = linspace(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;
    }
}


// ================== function "casadi::casadi_log" ===============
// cppName: "casadi::casadi_log"
// cWrapperName: "casadi_log__0"
// protoArgs: "(std::string ** err_msg, double* x0)"
// params: [(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_log__0(std::string ** err_msg, double* x0)"
// friendWrap: True
// fName: "casadi_log"
// call: "        double ret = log(x0_);"
extern "C"
double
    casadi_log__0(std::string ** err_msg, double* x0);
double
    casadi_log__0(std::string ** err_msg, double* x0){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);

        double ret = log(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;
    }
}


// ================== function "casadi::casadi_log" ===============
// cppName: "casadi::casadi_log"
// cWrapperName: "casadi_log__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_log__1(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_log"
// call: "        casadi::SX ret = log(x0_);"
extern "C"
casadi::SX*
    casadi_log__1(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_log__1(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = log(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;
    }
}


// ================== function "casadi::casadi_log" ===============
// cppName: "casadi::casadi_log"
// cWrapperName: "casadi_log__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_log__2(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_log"
// call: "        casadi::DM ret = log(x0_);"
extern "C"
casadi::DM*
    casadi_log__2(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_log__2(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = log(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;
    }
}


// ================== function "casadi::casadi_log" ===============
// cppName: "casadi::casadi_log"
// cWrapperName: "casadi_log__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_log__3(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_log"
// call: "        casadi::IM ret = log(x0_);"
extern "C"
casadi::IM*
    casadi_log__3(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_log__3(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = log(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;
    }
}


// ================== function "casadi::casadi_log" ===============
// cppName: "casadi::casadi_log"
// cWrapperName: "casadi_log__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_log__4(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_log"
// call: "        casadi::MX ret = log(x0_);"
extern "C"
casadi::MX*
    casadi_log__4(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_log__4(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = log(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;
    }
}


// ================== function "casadi::casadi_log10" ===============
// cppName: "casadi::casadi_log10"
// cWrapperName: "casadi_log10__0"
// protoArgs: "(std::string ** err_msg, double* x0)"
// params: [(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_log10__0(std::string ** err_msg, double* x0)"
// friendWrap: True
// fName: "casadi_log10"
// call: "        double ret = log10(x0_);"
extern "C"
double
    casadi_log10__0(std::string ** err_msg, double* x0);
double
    casadi_log10__0(std::string ** err_msg, double* x0){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);

        double ret = log10(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;
    }
}


// ================== function "casadi::casadi_log10" ===============
// cppName: "casadi::casadi_log10"
// cWrapperName: "casadi_log10__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_log10__1(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_log10"
// call: "        casadi::SX ret = log10(x0_);"
extern "C"
casadi::SX*
    casadi_log10__1(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_log10__1(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = log10(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;
    }
}


// ================== function "casadi::casadi_log10" ===============
// cppName: "casadi::casadi_log10"
// cWrapperName: "casadi_log10__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_log10__2(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_log10"
// call: "        casadi::DM ret = log10(x0_);"
extern "C"
casadi::DM*
    casadi_log10__2(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_log10__2(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = log10(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;
    }
}


// ================== function "casadi::casadi_log10" ===============
// cppName: "casadi::casadi_log10"
// cWrapperName: "casadi_log10__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_log10__3(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_log10"
// call: "        casadi::IM ret = log10(x0_);"
extern "C"
casadi::IM*
    casadi_log10__3(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_log10__3(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = log10(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;
    }
}


// ================== function "casadi::casadi_log10" ===============
// cppName: "casadi::casadi_log10"
// cWrapperName: "casadi_log10__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_log10__4(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_log10"
// call: "        casadi::MX ret = log10(x0_);"
extern "C"
casadi::MX*
    casadi_log10__4(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_log10__4(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = log10(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;
    }
}


// ================== function "casadi::casadi_lt" ===============
// cppName: "casadi::casadi_lt"
// cWrapperName: "casadi_lt__0"
// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_, x1_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_lt__0(std::string ** err_msg, double* x0, double* x1)"
// friendWrap: True
// fName: "casadi_lt"
// call: "        double ret = x0_ < x1_;"
extern "C"
double
    casadi_lt__0(std::string ** err_msg, double* x0, double* x1);
double
    casadi_lt__0(std::string ** err_msg, double* x0, double* x1){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);
        double& x1_ = Marshaling<double&,double*>::marshal(x1);

        double ret = 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;
    }
}


// ================== function "casadi::casadi_lt" ===============
// cppName: "casadi::casadi_lt"
// cWrapperName: "casadi_lt__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_lt__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_lt"
// call: "        casadi::SX ret = x0_ < x1_;"
extern "C"
casadi::SX*
    casadi_lt__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_lt__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = 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;
    }
}


// ================== function "casadi::casadi_lt" ===============
// cppName: "casadi::casadi_lt"
// cWrapperName: "casadi_lt__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_lt__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_lt"
// call: "        casadi::DM ret = x0_ < x1_;"
extern "C"
casadi::DM*
    casadi_lt__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_lt__2(std::string ** err_msg, 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 = 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;
    }
}


// ================== function "casadi::casadi_lt" ===============
// cppName: "casadi::casadi_lt"
// cWrapperName: "casadi_lt__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_lt__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_lt"
// call: "        casadi::IM ret = x0_ < x1_;"
extern "C"
casadi::IM*
    casadi_lt__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_lt__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = 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;
    }
}


// ================== function "casadi::casadi_lt" ===============
// cppName: "casadi::casadi_lt"
// cWrapperName: "casadi_lt__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_lt__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_lt"
// call: "        casadi::MX ret = x0_ < x1_;"
extern "C"
casadi::MX*
    casadi_lt__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi_lt__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = 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;
    }
}


// ================== function "casadi::casadi_mac" ===============
// cppName: "casadi::casadi_mac"
// cWrapperName: "casadi_mac__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_mac__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
// friendWrap: True
// fName: "casadi_mac"
// call: "        casadi::SX ret = mac(x0_, x1_, x2_);"
extern "C"
casadi::SX*
    casadi_mac__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
casadi::SX*
    casadi_mac__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);

        casadi::SX ret = mac(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;
    }
}


// ================== function "casadi::casadi_mac" ===============
// cppName: "casadi::casadi_mac"
// cWrapperName: "casadi_mac__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_mac__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
// friendWrap: True
// fName: "casadi_mac"
// call: "        casadi::DM ret = mac(x0_, x1_, x2_);"
extern "C"
casadi::DM*
    casadi_mac__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
casadi::DM*
    casadi_mac__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::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 = mac(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;
    }
}


// ================== function "casadi::casadi_mac" ===============
// cppName: "casadi::casadi_mac"
// cWrapperName: "casadi_mac__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_mac__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
// friendWrap: True
// fName: "casadi_mac"
// call: "        casadi::IM ret = mac(x0_, x1_, x2_);"
extern "C"
casadi::IM*
    casadi_mac__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
casadi::IM*
    casadi_mac__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::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 = mac(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;
    }
}


// ================== function "casadi::casadi_mac" ===============
// cppName: "casadi::casadi_mac"
// cWrapperName: "casadi_mac__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* 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)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_mac__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
// friendWrap: True
// fName: "casadi_mac"
// call: "        casadi::MX ret = mac(x0_, x1_, x2_);"
extern "C"
casadi::MX*
    casadi_mac__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2);
casadi::MX*
    casadi_mac__3(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 = mac(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;
    }
}


// ================== function "casadi::casadi_mac" ===============
// cppName: "casadi::casadi_mac"
// cWrapperName: "casadi_mac__4"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, casadi::Sparsity* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi_mac__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, casadi::Sparsity* x2)"
// friendWrap: True
// fName: "casadi_mac"
// call: "        casadi::Sparsity ret = mac(x0_, x1_, x2_);"
extern "C"
casadi::Sparsity*
    casadi_mac__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, casadi::Sparsity* x2);
casadi::Sparsity*
    casadi_mac__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1, casadi::Sparsity* x2){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
        casadi::Sparsity& x2_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x2);

        casadi::Sparsity ret = mac(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;
    }
}


// ================== function "casadi::casadi_matrix_expand" ===============
// cppName: "casadi::casadi_matrix_expand"
// cWrapperName: "casadi_matrix_expand__0"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_matrix_expand__0(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_matrix_expand"
// call: "        casadi::MX ret = matrix_expand(x0_);"
extern "C"
casadi::MX*
    casadi_matrix_expand__0(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_matrix_expand__0(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = matrix_expand(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;
    }
}


// ================== function "casadi::casadi_matrix_expand" ===============
// cppName: "casadi::casadi_matrix_expand"
// cWrapperName: "casadi_matrix_expand__1"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_matrix_expand__1(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1)"
// friendWrap: True
// fName: "casadi_matrix_expand"
// call: "        casadi::MX ret = matrix_expand(x0_, x1_);"
extern "C"
casadi::MX*
    casadi_matrix_expand__1(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1);
casadi::MX*
    casadi_matrix_expand__1(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);

        casadi::MX ret = matrix_expand(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;
    }
}


// ================== function "casadi::casadi_matrix_expand" ===============
// cppName: "casadi::casadi_matrix_expand"
// cWrapperName: "casadi_matrix_expand__2"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, std::map< std::string, casadi::GenericType* >* x2)"
// params: [(Ref (Const (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)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_matrix_expand__2(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, std::map< std::string, casadi::GenericType* >* x2)"
// friendWrap: True
// fName: "casadi_matrix_expand"
// call: "        casadi::MX ret = matrix_expand(x0_, x1_, x2_);"
extern "C"
casadi::MX*
    casadi_matrix_expand__2(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, std::map< std::string, casadi::GenericType* >* x2);
casadi::MX*
    casadi_matrix_expand__2(std::string ** err_msg, casadi::MX* x0, std::vector< casadi::MX* >* x1, std::map< std::string, casadi::GenericType* >* x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);

        casadi::MX ret = matrix_expand(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;
    }
}


// ================== function "casadi::casadi_matrix_expand" ===============
// cppName: "casadi::casadi_matrix_expand"
// cWrapperName: "casadi_matrix_expand__3"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// args: "(x0_)"
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi_matrix_expand__3(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
// friendWrap: True
// fName: "casadi_matrix_expand"
// call: "        std::vector< casadi::MX > ret = matrix_expand(x0_);"
extern "C"
std::vector< casadi::MX* >*
    casadi_matrix_expand__3(std::string ** err_msg, std::vector< casadi::MX* >* x0);
std::vector< casadi::MX* >*
    casadi_matrix_expand__3(std::string ** err_msg, std::vector< casadi::MX* >* x0){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);

        std::vector< casadi::MX > ret = matrix_expand(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;
    }
}


// ================== function "casadi::casadi_matrix_expand" ===============
// cppName: "casadi::casadi_matrix_expand"
// cWrapperName: "casadi_matrix_expand__4"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi_matrix_expand__4(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1)"
// friendWrap: True
// fName: "casadi_matrix_expand"
// call: "        std::vector< casadi::MX > ret = matrix_expand(x0_, x1_);"
extern "C"
std::vector< casadi::MX* >*
    casadi_matrix_expand__4(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1);
std::vector< casadi::MX* >*
    casadi_matrix_expand__4(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);

        std::vector< casadi::MX > ret = matrix_expand(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;
    }
}


// ================== function "casadi::casadi_matrix_expand" ===============
// cppName: "casadi::casadi_matrix_expand"
// cWrapperName: "casadi_matrix_expand__5"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::map< std::string, casadi::GenericType* >* x2)"
// params: [(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)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi_matrix_expand__5(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::map< std::string, casadi::GenericType* >* x2)"
// friendWrap: True
// fName: "casadi_matrix_expand"
// call: "        std::vector< casadi::MX > ret = matrix_expand(x0_, x1_, x2_);"
extern "C"
std::vector< casadi::MX* >*
    casadi_matrix_expand__5(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::map< std::string, casadi::GenericType* >* x2);
std::vector< casadi::MX* >*
    casadi_matrix_expand__5(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::map< std::string, casadi::GenericType* >* x2){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
        std::map< std::string, casadi::GenericType > x2_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x2);

        std::vector< casadi::MX > ret = matrix_expand(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;
    }
}


// ================== function "casadi::casadi_minor" ===============
// cppName: "casadi::casadi_minor"
// cWrapperName: "casadi_minor__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_minor__0(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2)"
// friendWrap: True
// fName: "casadi_minor"
// call: "        casadi::SX ret = minor(x0_, x1_, x2_);"
extern "C"
casadi::SX*
    casadi_minor__0(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2);
casadi::SX*
    casadi_minor__0(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::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 = minor(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;
    }
}


// ================== function "casadi::casadi_minor" ===============
// cppName: "casadi::casadi_minor"
// cWrapperName: "casadi_minor__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_minor__1(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2)"
// friendWrap: True
// fName: "casadi_minor"
// call: "        casadi::DM ret = minor(x0_, x1_, x2_);"
extern "C"
casadi::DM*
    casadi_minor__1(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2);
casadi::DM*
    casadi_minor__1(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::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 = minor(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;
    }
}


// ================== function "casadi::casadi_minor" ===============
// cppName: "casadi::casadi_minor"
// cWrapperName: "casadi_minor__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_minor__2(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2)"
// friendWrap: True
// fName: "casadi_minor"
// call: "        casadi::IM ret = minor(x0_, x1_, x2_);"
extern "C"
casadi::IM*
    casadi_minor__2(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2);
casadi::IM*
    casadi_minor__2(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::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 = minor(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;
    }
}


// ================== function "casadi::casadi_minus" ===============
// cppName: "casadi::casadi_minus"
// cWrapperName: "casadi_minus__0"
// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_, x1_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_minus__0(std::string ** err_msg, double* x0, double* x1)"
// friendWrap: True
// fName: "casadi_minus"
// call: "        double ret = x0_ - x1_;"
extern "C"
double
    casadi_minus__0(std::string ** err_msg, double* x0, double* x1);
double
    casadi_minus__0(std::string ** err_msg, double* x0, double* x1){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);
        double& x1_ = Marshaling<double&,double*>::marshal(x1);

        double ret = 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;
    }
}


// ================== function "casadi::casadi_minus" ===============
// cppName: "casadi::casadi_minus"
// cWrapperName: "casadi_minus__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_minus__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_minus"
// call: "        casadi::SX ret = x0_ - x1_;"
extern "C"
casadi::SX*
    casadi_minus__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_minus__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = 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;
    }
}


// ================== function "casadi::casadi_minus" ===============
// cppName: "casadi::casadi_minus"
// cWrapperName: "casadi_minus__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_minus__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_minus"
// call: "        casadi::DM ret = x0_ - x1_;"
extern "C"
casadi::DM*
    casadi_minus__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_minus__2(std::string ** err_msg, 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 = 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;
    }
}


// ================== function "casadi::casadi_minus" ===============
// cppName: "casadi::casadi_minus"
// cWrapperName: "casadi_minus__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_minus__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_minus"
// call: "        casadi::IM ret = x0_ - x1_;"
extern "C"
casadi::IM*
    casadi_minus__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_minus__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = 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;
    }
}


// ================== function "casadi::casadi_minus" ===============
// cppName: "casadi::casadi_minus"
// cWrapperName: "casadi_minus__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_minus__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_minus"
// call: "        casadi::MX ret = x0_ - x1_;"
extern "C"
casadi::MX*
    casadi_minus__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi_minus__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = 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;
    }
}


// ================== function "casadi::casadi_mldivide" ===============
// cppName: "casadi::casadi_mldivide"
// cWrapperName: "casadi_mldivide__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_mldivide__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_mldivide"
// call: "        casadi::SX ret = mldivide(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_mldivide__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_mldivide__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = mldivide(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;
    }
}


// ================== function "casadi::casadi_mldivide" ===============
// cppName: "casadi::casadi_mldivide"
// cWrapperName: "casadi_mldivide__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_mldivide__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_mldivide"
// call: "        casadi::DM ret = mldivide(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_mldivide__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_mldivide__1(std::string ** err_msg, 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 = mldivide(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;
    }
}


// ================== function "casadi::casadi_mldivide" ===============
// cppName: "casadi::casadi_mldivide"
// cWrapperName: "casadi_mldivide__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_mldivide__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_mldivide"
// call: "        casadi::IM ret = mldivide(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_mldivide__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_mldivide__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = mldivide(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;
    }
}


// ================== function "casadi::casadi_mldivide" ===============
// cppName: "casadi::casadi_mldivide"
// cWrapperName: "casadi_mldivide__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_mldivide__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_mldivide"
// call: "        casadi::MX ret = mldivide(x0_, x1_);"
extern "C"
casadi::MX*
    casadi_mldivide__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi_mldivide__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = mldivide(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;
    }
}


// ================== function "casadi::casadi_mmax" ===============
// cppName: "casadi::casadi_mmax"
// cWrapperName: "casadi_mmax__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_mmax__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_mmax"
// call: "        casadi::SX ret = mmax(x0_);"
extern "C"
casadi::SX*
    casadi_mmax__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_mmax__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = mmax(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;
    }
}


// ================== function "casadi::casadi_mmax" ===============
// cppName: "casadi::casadi_mmax"
// cWrapperName: "casadi_mmax__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_mmax__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_mmax"
// call: "        casadi::DM ret = mmax(x0_);"
extern "C"
casadi::DM*
    casadi_mmax__1(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_mmax__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = mmax(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;
    }
}


// ================== function "casadi::casadi_mmax" ===============
// cppName: "casadi::casadi_mmax"
// cWrapperName: "casadi_mmax__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_mmax__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_mmax"
// call: "        casadi::IM ret = mmax(x0_);"
extern "C"
casadi::IM*
    casadi_mmax__2(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_mmax__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = mmax(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;
    }
}


// ================== function "casadi::casadi_mmax" ===============
// cppName: "casadi::casadi_mmax"
// cWrapperName: "casadi_mmax__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_mmax__3(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_mmax"
// call: "        casadi::MX ret = mmax(x0_);"
extern "C"
casadi::MX*
    casadi_mmax__3(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_mmax__3(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = mmax(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;
    }
}


// ================== function "casadi::casadi_mmin" ===============
// cppName: "casadi::casadi_mmin"
// cWrapperName: "casadi_mmin__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_mmin__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_mmin"
// call: "        casadi::SX ret = mmin(x0_);"
extern "C"
casadi::SX*
    casadi_mmin__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_mmin__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = mmin(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;
    }
}


// ================== function "casadi::casadi_mmin" ===============
// cppName: "casadi::casadi_mmin"
// cWrapperName: "casadi_mmin__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_mmin__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_mmin"
// call: "        casadi::DM ret = mmin(x0_);"
extern "C"
casadi::DM*
    casadi_mmin__1(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_mmin__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = mmin(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;
    }
}


// ================== function "casadi::casadi_mmin" ===============
// cppName: "casadi::casadi_mmin"
// cWrapperName: "casadi_mmin__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_mmin__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_mmin"
// call: "        casadi::IM ret = mmin(x0_);"
extern "C"
casadi::IM*
    casadi_mmin__2(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_mmin__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = mmin(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;
    }
}


// ================== function "casadi::casadi_mmin" ===============
// cppName: "casadi::casadi_mmin"
// cWrapperName: "casadi_mmin__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_mmin__3(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_mmin"
// call: "        casadi::MX ret = mmin(x0_);"
extern "C"
casadi::MX*
    casadi_mmin__3(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_mmin__3(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = mmin(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;
    }
}


// ================== function "casadi::casadi_mod" ===============
// cppName: "casadi::casadi_mod"
// cWrapperName: "casadi_mod__0"
// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_, x1_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_mod__0(std::string ** err_msg, double* x0, double* x1)"
// friendWrap: True
// fName: "casadi_mod"
// call: "        double ret = fmod(x0_, x1_);"
extern "C"
double
    casadi_mod__0(std::string ** err_msg, double* x0, double* x1);
double
    casadi_mod__0(std::string ** err_msg, double* x0, double* x1){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);
        double& x1_ = Marshaling<double&,double*>::marshal(x1);

        double ret = fmod(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;
    }
}


// ================== function "casadi::casadi_mod" ===============
// cppName: "casadi::casadi_mod"
// cWrapperName: "casadi_mod__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_mod__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_mod"
// call: "        casadi::SX ret = fmod(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_mod__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_mod__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = fmod(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;
    }
}


// ================== function "casadi::casadi_mod" ===============
// cppName: "casadi::casadi_mod"
// cWrapperName: "casadi_mod__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_mod__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_mod"
// call: "        casadi::DM ret = fmod(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_mod__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_mod__2(std::string ** err_msg, 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 = fmod(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;
    }
}


// ================== function "casadi::casadi_mod" ===============
// cppName: "casadi::casadi_mod"
// cWrapperName: "casadi_mod__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_mod__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_mod"
// call: "        casadi::IM ret = fmod(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_mod__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_mod__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = fmod(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;
    }
}


// ================== function "casadi::casadi_mod" ===============
// cppName: "casadi::casadi_mod"
// cWrapperName: "casadi_mod__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_mod__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_mod"
// call: "        casadi::MX ret = fmod(x0_, x1_);"
extern "C"
casadi::MX*
    casadi_mod__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi_mod__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = fmod(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;
    }
}


// ================== function "casadi::casadi_mpower" ===============
// cppName: "casadi::casadi_mpower"
// cWrapperName: "casadi_mpower__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_mpower__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_mpower"
// call: "        casadi::SX ret = mpower(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_mpower__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_mpower__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = mpower(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;
    }
}


// ================== function "casadi::casadi_mpower" ===============
// cppName: "casadi::casadi_mpower"
// cWrapperName: "casadi_mpower__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_mpower__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_mpower"
// call: "        casadi::DM ret = mpower(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_mpower__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_mpower__1(std::string ** err_msg, 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 = mpower(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;
    }
}


// ================== function "casadi::casadi_mpower" ===============
// cppName: "casadi::casadi_mpower"
// cWrapperName: "casadi_mpower__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_mpower__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_mpower"
// call: "        casadi::IM ret = mpower(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_mpower__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_mpower__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = mpower(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;
    }
}


// ================== function "casadi::casadi_mpower" ===============
// cppName: "casadi::casadi_mpower"
// cWrapperName: "casadi_mpower__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_mpower__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_mpower"
// call: "        casadi::MX ret = mpower(x0_, x1_);"
extern "C"
casadi::MX*
    casadi_mpower__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi_mpower__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = mpower(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;
    }
}


// ================== function "casadi::casadi_mrdivide" ===============
// cppName: "casadi::casadi_mrdivide"
// cWrapperName: "casadi_mrdivide__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_mrdivide__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_mrdivide"
// call: "        casadi::SX ret = mrdivide(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_mrdivide__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_mrdivide__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = mrdivide(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;
    }
}


// ================== function "casadi::casadi_mrdivide" ===============
// cppName: "casadi::casadi_mrdivide"
// cWrapperName: "casadi_mrdivide__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_mrdivide__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_mrdivide"
// call: "        casadi::DM ret = mrdivide(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_mrdivide__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_mrdivide__1(std::string ** err_msg, 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 = mrdivide(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;
    }
}


// ================== function "casadi::casadi_mrdivide" ===============
// cppName: "casadi::casadi_mrdivide"
// cWrapperName: "casadi_mrdivide__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_mrdivide__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_mrdivide"
// call: "        casadi::IM ret = mrdivide(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_mrdivide__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_mrdivide__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = mrdivide(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;
    }
}


// ================== function "casadi::casadi_mrdivide" ===============
// cppName: "casadi::casadi_mrdivide"
// cWrapperName: "casadi_mrdivide__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_mrdivide__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_mrdivide"
// call: "        casadi::MX ret = mrdivide(x0_, x1_);"
extern "C"
casadi::MX*
    casadi_mrdivide__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi_mrdivide__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = mrdivide(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;
    }
}


// ================== function "casadi::casadi_mtaylor" ===============
// cppName: "casadi::casadi_mtaylor"
// cWrapperName: "casadi_mtaylor__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, long long x3, std::vector< long long >* x4)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_, x3_, x4_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_mtaylor__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, long long x3, std::vector< long long >* x4)"
// friendWrap: True
// fName: "casadi_mtaylor"
// call: "        casadi::SX ret = mtaylor(x0_, x1_, x2_, x3_, x4_);"
extern "C"
casadi::SX*
    casadi_mtaylor__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, long long x3, std::vector< long long >* x4);
casadi::SX*
    casadi_mtaylor__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, long long x3, std::vector< long long >* x4){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
        long long x3_ = Marshaling<long long,long long>::marshal(x3);
        std::vector< long long > x4_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x4);

        casadi::SX ret = mtaylor(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;
    }
}


// ================== function "casadi::casadi_mtaylor" ===============
// cppName: "casadi::casadi_mtaylor"
// cWrapperName: "casadi_mtaylor__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_mtaylor__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
// friendWrap: True
// fName: "casadi_mtaylor"
// call: "        casadi::SX ret = mtaylor(x0_, x1_, x2_);"
extern "C"
casadi::SX*
    casadi_mtaylor__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
casadi::SX*
    casadi_mtaylor__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);

        casadi::SX ret = mtaylor(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;
    }
}


// ================== function "casadi::casadi_mtaylor" ===============
// cppName: "casadi::casadi_mtaylor"
// cWrapperName: "casadi_mtaylor__2"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, long long x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_mtaylor__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, long long x3)"
// friendWrap: True
// fName: "casadi_mtaylor"
// call: "        casadi::SX ret = mtaylor(x0_, x1_, x2_, x3_);"
extern "C"
casadi::SX*
    casadi_mtaylor__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, long long x3);
casadi::SX*
    casadi_mtaylor__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, long long x3){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
        long long x3_ = Marshaling<long long,long long>::marshal(x3);

        casadi::SX ret = mtaylor(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;
    }
}


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

        casadi::DM ret = mtaylor(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;
    }
}


// ================== function "casadi::casadi_mtaylor" ===============
// cppName: "casadi::casadi_mtaylor"
// cWrapperName: "casadi_mtaylor__4"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_mtaylor__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
// friendWrap: True
// fName: "casadi_mtaylor"
// call: "        casadi::DM ret = mtaylor(x0_, x1_, x2_);"
extern "C"
casadi::DM*
    casadi_mtaylor__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
casadi::DM*
    casadi_mtaylor__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::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 = mtaylor(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;
    }
}


// ================== function "casadi::casadi_mtaylor" ===============
// cppName: "casadi::casadi_mtaylor"
// cWrapperName: "casadi_mtaylor__5"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, long long x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_mtaylor__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, long long x3)"
// friendWrap: True
// fName: "casadi_mtaylor"
// call: "        casadi::DM ret = mtaylor(x0_, x1_, x2_, x3_);"
extern "C"
casadi::DM*
    casadi_mtaylor__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, long long x3);
casadi::DM*
    casadi_mtaylor__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, long long x3){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
        long long x3_ = Marshaling<long long,long long>::marshal(x3);

        casadi::DM ret = mtaylor(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;
    }
}


// ================== function "casadi::casadi_mtaylor" ===============
// cppName: "casadi::casadi_mtaylor"
// cWrapperName: "casadi_mtaylor__6"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, long long x3, std::vector< long long >* x4)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_, x3_, x4_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_mtaylor__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, long long x3, std::vector< long long >* x4)"
// friendWrap: True
// fName: "casadi_mtaylor"
// call: "        casadi::IM ret = mtaylor(x0_, x1_, x2_, x3_, x4_);"
extern "C"
casadi::IM*
    casadi_mtaylor__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, long long x3, std::vector< long long >* x4);
casadi::IM*
    casadi_mtaylor__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, long long x3, std::vector< long long >* x4){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        long long x3_ = Marshaling<long long,long long>::marshal(x3);
        std::vector< long long > x4_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x4);

        casadi::IM ret = mtaylor(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;
    }
}


// ================== function "casadi::casadi_mtaylor" ===============
// cppName: "casadi::casadi_mtaylor"
// cWrapperName: "casadi_mtaylor__7"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_mtaylor__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
// friendWrap: True
// fName: "casadi_mtaylor"
// call: "        casadi::IM ret = mtaylor(x0_, x1_, x2_);"
extern "C"
casadi::IM*
    casadi_mtaylor__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
casadi::IM*
    casadi_mtaylor__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::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 = mtaylor(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;
    }
}


// ================== function "casadi::casadi_mtaylor" ===============
// cppName: "casadi::casadi_mtaylor"
// cWrapperName: "casadi_mtaylor__8"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, long long x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_mtaylor__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, long long x3)"
// friendWrap: True
// fName: "casadi_mtaylor"
// call: "        casadi::IM ret = mtaylor(x0_, x1_, x2_, x3_);"
extern "C"
casadi::IM*
    casadi_mtaylor__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, long long x3);
casadi::IM*
    casadi_mtaylor__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, long long x3){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        long long x3_ = Marshaling<long long,long long>::marshal(x3);

        casadi::IM ret = mtaylor(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;
    }
}


// ================== function "casadi::casadi_mtimes" ===============
// cppName: "casadi::casadi_mtimes"
// cWrapperName: "casadi_mtimes__0"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_mtimes__0(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
// friendWrap: True
// fName: "casadi_mtimes"
// call: "        casadi::SX ret = mtimes(x0_);"
extern "C"
casadi::SX*
    casadi_mtimes__0(std::string ** err_msg, std::vector< casadi::SX* >* x0);
casadi::SX*
    casadi_mtimes__0(std::string ** err_msg, std::vector< casadi::SX* >* x0){
    try {
        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);

        casadi::SX ret = mtimes(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;
    }
}


// ================== function "casadi::casadi_mtimes" ===============
// cppName: "casadi::casadi_mtimes"
// cWrapperName: "casadi_mtimes__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_mtimes__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_mtimes"
// call: "        casadi::SX ret = mtimes(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_mtimes__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_mtimes__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = mtimes(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;
    }
}


// ================== function "casadi::casadi_mtimes" ===============
// cppName: "casadi::casadi_mtimes"
// cWrapperName: "casadi_mtimes__2"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_mtimes__2(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
// friendWrap: True
// fName: "casadi_mtimes"
// call: "        casadi::DM ret = mtimes(x0_);"
extern "C"
casadi::DM*
    casadi_mtimes__2(std::string ** err_msg, std::vector< casadi::DM* >* x0);
casadi::DM*
    casadi_mtimes__2(std::string ** err_msg, std::vector< casadi::DM* >* x0){
    try {
        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);

        casadi::DM ret = mtimes(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;
    }
}


// ================== function "casadi::casadi_mtimes" ===============
// cppName: "casadi::casadi_mtimes"
// cWrapperName: "casadi_mtimes__3"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_mtimes__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_mtimes"
// call: "        casadi::DM ret = mtimes(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_mtimes__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_mtimes__3(std::string ** err_msg, 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 = mtimes(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;
    }
}


// ================== function "casadi::casadi_mtimes" ===============
// cppName: "casadi::casadi_mtimes"
// cWrapperName: "casadi_mtimes__4"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_mtimes__4(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
// friendWrap: True
// fName: "casadi_mtimes"
// call: "        casadi::IM ret = mtimes(x0_);"
extern "C"
casadi::IM*
    casadi_mtimes__4(std::string ** err_msg, std::vector< casadi::IM* >* x0);
casadi::IM*
    casadi_mtimes__4(std::string ** err_msg, std::vector< casadi::IM* >* x0){
    try {
        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);

        casadi::IM ret = mtimes(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;
    }
}


// ================== function "casadi::casadi_mtimes" ===============
// cppName: "casadi::casadi_mtimes"
// cWrapperName: "casadi_mtimes__5"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_mtimes__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_mtimes"
// call: "        casadi::IM ret = mtimes(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_mtimes__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_mtimes__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = mtimes(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;
    }
}


// ================== function "casadi::casadi_mtimes" ===============
// cppName: "casadi::casadi_mtimes"
// cWrapperName: "casadi_mtimes__6"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_mtimes__6(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
// friendWrap: True
// fName: "casadi_mtimes"
// call: "        casadi::MX ret = mtimes(x0_);"
extern "C"
casadi::MX*
    casadi_mtimes__6(std::string ** err_msg, std::vector< casadi::MX* >* x0);
casadi::MX*
    casadi_mtimes__6(std::string ** err_msg, std::vector< casadi::MX* >* x0){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);

        casadi::MX ret = mtimes(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;
    }
}


// ================== function "casadi::casadi_mtimes" ===============
// cppName: "casadi::casadi_mtimes"
// cWrapperName: "casadi_mtimes__7"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_mtimes__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_mtimes"
// call: "        casadi::MX ret = mtimes(x0_, x1_);"
extern "C"
casadi::MX*
    casadi_mtimes__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi_mtimes__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = mtimes(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;
    }
}


// ================== function "casadi::casadi_mtimes" ===============
// cppName: "casadi::casadi_mtimes"
// cWrapperName: "casadi_mtimes__8"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
// args: "(x0_)"
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi_mtimes__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
// friendWrap: True
// fName: "casadi_mtimes"
// call: "        casadi::Sparsity ret = mtimes(x0_);"
extern "C"
casadi::Sparsity*
    casadi_mtimes__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
casadi::Sparsity*
    casadi_mtimes__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
    try {
        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);

        casadi::Sparsity ret = mtimes(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;
    }
}


// ================== function "casadi::casadi_mtimes" ===============
// cppName: "casadi::casadi_mtimes"
// cWrapperName: "casadi_mtimes__9"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi_mtimes__9(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1)"
// friendWrap: True
// fName: "casadi_mtimes"
// call: "        casadi::Sparsity ret = mtimes(x0_, x1_);"
extern "C"
casadi::Sparsity*
    casadi_mtimes__9(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1);
casadi::Sparsity*
    casadi_mtimes__9(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 = mtimes(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;
    }
}


// ================== function "casadi::casadi_n_nodes" ===============
// cppName: "casadi::casadi_n_nodes"
// cWrapperName: "casadi_n_nodes__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: CLongLong
// args: "(x0_)"
// cWrapperRetType: "long long"
// proto: "long long\n    casadi_n_nodes__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_n_nodes"
// call: "        long long ret = n_nodes(x0_);"
extern "C"
long long
    casadi_n_nodes__0(std::string ** err_msg, casadi::SX* x0);
long long
    casadi_n_nodes__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        long long ret = n_nodes(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;
    }
}


// ================== function "casadi::casadi_n_nodes" ===============
// cppName: "casadi::casadi_n_nodes"
// cWrapperName: "casadi_n_nodes__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: CLongLong
// args: "(x0_)"
// cWrapperRetType: "long long"
// proto: "long long\n    casadi_n_nodes__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_n_nodes"
// call: "        long long ret = n_nodes(x0_);"
extern "C"
long long
    casadi_n_nodes__1(std::string ** err_msg, casadi::DM* x0);
long long
    casadi_n_nodes__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        long long ret = n_nodes(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;
    }
}


// ================== function "casadi::casadi_n_nodes" ===============
// cppName: "casadi::casadi_n_nodes"
// cWrapperName: "casadi_n_nodes__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: CLongLong
// args: "(x0_)"
// cWrapperRetType: "long long"
// proto: "long long\n    casadi_n_nodes__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_n_nodes"
// call: "        long long ret = n_nodes(x0_);"
extern "C"
long long
    casadi_n_nodes__2(std::string ** err_msg, casadi::IM* x0);
long long
    casadi_n_nodes__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        long long ret = n_nodes(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;
    }
}


// ================== function "casadi::casadi_n_nodes" ===============
// cppName: "casadi::casadi_n_nodes"
// cWrapperName: "casadi_n_nodes__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: CLongLong
// args: "(x0_)"
// cWrapperRetType: "long long"
// proto: "long long\n    casadi_n_nodes__3(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_n_nodes"
// call: "        long long ret = n_nodes(x0_);"
extern "C"
long long
    casadi_n_nodes__3(std::string ** err_msg, casadi::MX* x0);
long long
    casadi_n_nodes__3(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        long long ret = n_nodes(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;
    }
}


// ================== function "casadi::casadi_ne" ===============
// cppName: "casadi::casadi_ne"
// cWrapperName: "casadi_ne__0"
// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_, x1_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_ne__0(std::string ** err_msg, double* x0, double* x1)"
// friendWrap: True
// fName: "casadi_ne"
// call: "        double ret = x0_ != x1_;"
extern "C"
double
    casadi_ne__0(std::string ** err_msg, double* x0, double* x1);
double
    casadi_ne__0(std::string ** err_msg, double* x0, double* x1){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);
        double& x1_ = Marshaling<double&,double*>::marshal(x1);

        double ret = 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;
    }
}


// ================== function "casadi::casadi_ne" ===============
// cppName: "casadi::casadi_ne"
// cWrapperName: "casadi_ne__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_ne__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_ne"
// call: "        casadi::SX ret = x0_ != x1_;"
extern "C"
casadi::SX*
    casadi_ne__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_ne__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = 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;
    }
}


// ================== function "casadi::casadi_ne" ===============
// cppName: "casadi::casadi_ne"
// cWrapperName: "casadi_ne__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_ne__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_ne"
// call: "        casadi::DM ret = x0_ != x1_;"
extern "C"
casadi::DM*
    casadi_ne__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_ne__2(std::string ** err_msg, 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 = 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;
    }
}


// ================== function "casadi::casadi_ne" ===============
// cppName: "casadi::casadi_ne"
// cWrapperName: "casadi_ne__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_ne__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_ne"
// call: "        casadi::IM ret = x0_ != x1_;"
extern "C"
casadi::IM*
    casadi_ne__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_ne__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = 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;
    }
}


// ================== function "casadi::casadi_ne" ===============
// cppName: "casadi::casadi_ne"
// cWrapperName: "casadi_ne__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_ne__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_ne"
// call: "        casadi::MX ret = x0_ != x1_;"
extern "C"
casadi::MX*
    casadi_ne__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi_ne__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = 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;
    }
}


// ================== function "casadi::casadi_norm_0_mul" ===============
// cppName: "casadi::casadi_norm_0_mul"
// cWrapperName: "casadi_norm_0_mul__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: CLongLong
// args: "(x0_, x1_)"
// cWrapperRetType: "long long"
// proto: "long long\n    casadi_norm_0_mul__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_norm_0_mul"
// call: "        long long ret = norm_0_mul(x0_, x1_);"
extern "C"
long long
    casadi_norm_0_mul__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
long long
    casadi_norm_0_mul__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        long long ret = norm_0_mul(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;
    }
}


// ================== function "casadi::casadi_norm_0_mul" ===============
// cppName: "casadi::casadi_norm_0_mul"
// cWrapperName: "casadi_norm_0_mul__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: CLongLong
// args: "(x0_, x1_)"
// cWrapperRetType: "long long"
// proto: "long long\n    casadi_norm_0_mul__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_norm_0_mul"
// call: "        long long ret = norm_0_mul(x0_, x1_);"
extern "C"
long long
    casadi_norm_0_mul__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
long long
    casadi_norm_0_mul__1(std::string ** err_msg, 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);

        long long ret = norm_0_mul(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;
    }
}


// ================== function "casadi::casadi_norm_0_mul" ===============
// cppName: "casadi::casadi_norm_0_mul"
// cWrapperName: "casadi_norm_0_mul__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: CLongLong
// args: "(x0_, x1_)"
// cWrapperRetType: "long long"
// proto: "long long\n    casadi_norm_0_mul__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_norm_0_mul"
// call: "        long long ret = norm_0_mul(x0_, x1_);"
extern "C"
long long
    casadi_norm_0_mul__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
long long
    casadi_norm_0_mul__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        long long ret = norm_0_mul(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;
    }
}


// ================== function "casadi::casadi_norm_0_mul" ===============
// cppName: "casadi::casadi_norm_0_mul"
// cWrapperName: "casadi_norm_0_mul__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: CLongLong
// args: "(x0_, x1_)"
// cWrapperRetType: "long long"
// proto: "long long\n    casadi_norm_0_mul__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_norm_0_mul"
// call: "        long long ret = norm_0_mul(x0_, x1_);"
extern "C"
long long
    casadi_norm_0_mul__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
long long
    casadi_norm_0_mul__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        long long ret = norm_0_mul(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;
    }
}


// ================== function "casadi::casadi_norm_0_mul" ===============
// cppName: "casadi::casadi_norm_0_mul"
// cWrapperName: "casadi_norm_0_mul__4"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
// retType: CLongLong
// args: "(x0_, x1_)"
// cWrapperRetType: "long long"
// proto: "long long\n    casadi_norm_0_mul__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1)"
// friendWrap: True
// fName: "casadi_norm_0_mul"
// call: "        long long ret = norm_0_mul(x0_, x1_);"
extern "C"
long long
    casadi_norm_0_mul__4(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1);
long long
    casadi_norm_0_mul__4(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);

        long long ret = norm_0_mul(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;
    }
}


// ================== function "casadi::casadi_norm_1" ===============
// cppName: "casadi::casadi_norm_1"
// cWrapperName: "casadi_norm_1__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_norm_1__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_norm_1"
// call: "        casadi::SX ret = norm_1(x0_);"
extern "C"
casadi::SX*
    casadi_norm_1__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_norm_1__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = norm_1(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;
    }
}


// ================== function "casadi::casadi_norm_1" ===============
// cppName: "casadi::casadi_norm_1"
// cWrapperName: "casadi_norm_1__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_norm_1__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_norm_1"
// call: "        casadi::DM ret = norm_1(x0_);"
extern "C"
casadi::DM*
    casadi_norm_1__1(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_norm_1__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = norm_1(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;
    }
}


// ================== function "casadi::casadi_norm_1" ===============
// cppName: "casadi::casadi_norm_1"
// cWrapperName: "casadi_norm_1__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_norm_1__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_norm_1"
// call: "        casadi::IM ret = norm_1(x0_);"
extern "C"
casadi::IM*
    casadi_norm_1__2(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_norm_1__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = norm_1(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;
    }
}


// ================== function "casadi::casadi_norm_1" ===============
// cppName: "casadi::casadi_norm_1"
// cWrapperName: "casadi_norm_1__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_norm_1__3(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_norm_1"
// call: "        casadi::MX ret = norm_1(x0_);"
extern "C"
casadi::MX*
    casadi_norm_1__3(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_norm_1__3(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = norm_1(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;
    }
}


// ================== function "casadi::casadi_norm_2" ===============
// cppName: "casadi::casadi_norm_2"
// cWrapperName: "casadi_norm_2__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_norm_2__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_norm_2"
// call: "        casadi::SX ret = norm_2(x0_);"
extern "C"
casadi::SX*
    casadi_norm_2__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_norm_2__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = norm_2(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;
    }
}


// ================== function "casadi::casadi_norm_2" ===============
// cppName: "casadi::casadi_norm_2"
// cWrapperName: "casadi_norm_2__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_norm_2__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_norm_2"
// call: "        casadi::DM ret = norm_2(x0_);"
extern "C"
casadi::DM*
    casadi_norm_2__1(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_norm_2__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = norm_2(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;
    }
}


// ================== function "casadi::casadi_norm_2" ===============
// cppName: "casadi::casadi_norm_2"
// cWrapperName: "casadi_norm_2__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_norm_2__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_norm_2"
// call: "        casadi::IM ret = norm_2(x0_);"
extern "C"
casadi::IM*
    casadi_norm_2__2(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_norm_2__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = norm_2(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;
    }
}


// ================== function "casadi::casadi_norm_2" ===============
// cppName: "casadi::casadi_norm_2"
// cWrapperName: "casadi_norm_2__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_norm_2__3(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_norm_2"
// call: "        casadi::MX ret = norm_2(x0_);"
extern "C"
casadi::MX*
    casadi_norm_2__3(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_norm_2__3(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = norm_2(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;
    }
}


// ================== function "casadi::casadi_norm_fro" ===============
// cppName: "casadi::casadi_norm_fro"
// cWrapperName: "casadi_norm_fro__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_norm_fro__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_norm_fro"
// call: "        casadi::SX ret = norm_fro(x0_);"
extern "C"
casadi::SX*
    casadi_norm_fro__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_norm_fro__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = norm_fro(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;
    }
}


// ================== function "casadi::casadi_norm_fro" ===============
// cppName: "casadi::casadi_norm_fro"
// cWrapperName: "casadi_norm_fro__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_norm_fro__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_norm_fro"
// call: "        casadi::DM ret = norm_fro(x0_);"
extern "C"
casadi::DM*
    casadi_norm_fro__1(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_norm_fro__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = norm_fro(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;
    }
}


// ================== function "casadi::casadi_norm_fro" ===============
// cppName: "casadi::casadi_norm_fro"
// cWrapperName: "casadi_norm_fro__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_norm_fro__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_norm_fro"
// call: "        casadi::IM ret = norm_fro(x0_);"
extern "C"
casadi::IM*
    casadi_norm_fro__2(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_norm_fro__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = norm_fro(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;
    }
}


// ================== function "casadi::casadi_norm_fro" ===============
// cppName: "casadi::casadi_norm_fro"
// cWrapperName: "casadi_norm_fro__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_norm_fro__3(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_norm_fro"
// call: "        casadi::MX ret = norm_fro(x0_);"
extern "C"
casadi::MX*
    casadi_norm_fro__3(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_norm_fro__3(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = norm_fro(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;
    }
}


// ================== function "casadi::casadi_norm_inf" ===============
// cppName: "casadi::casadi_norm_inf"
// cWrapperName: "casadi_norm_inf__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_norm_inf__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_norm_inf"
// call: "        casadi::SX ret = norm_inf(x0_);"
extern "C"
casadi::SX*
    casadi_norm_inf__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_norm_inf__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = norm_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;
    }
}


// ================== function "casadi::casadi_norm_inf" ===============
// cppName: "casadi::casadi_norm_inf"
// cWrapperName: "casadi_norm_inf__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_norm_inf__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_norm_inf"
// call: "        casadi::DM ret = norm_inf(x0_);"
extern "C"
casadi::DM*
    casadi_norm_inf__1(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_norm_inf__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = norm_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;
    }
}


// ================== function "casadi::casadi_norm_inf" ===============
// cppName: "casadi::casadi_norm_inf"
// cWrapperName: "casadi_norm_inf__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_norm_inf__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_norm_inf"
// call: "        casadi::IM ret = norm_inf(x0_);"
extern "C"
casadi::IM*
    casadi_norm_inf__2(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_norm_inf__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = norm_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;
    }
}


// ================== function "casadi::casadi_norm_inf" ===============
// cppName: "casadi::casadi_norm_inf"
// cWrapperName: "casadi_norm_inf__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_norm_inf__3(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_norm_inf"
// call: "        casadi::MX ret = norm_inf(x0_);"
extern "C"
casadi::MX*
    casadi_norm_inf__3(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_norm_inf__3(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = norm_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;
    }
}


// ================== function "casadi::casadi_norm_inf_mul" ===============
// cppName: "casadi::casadi_norm_inf_mul"
// cWrapperName: "casadi_norm_inf_mul__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_norm_inf_mul__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_norm_inf_mul"
// call: "        casadi::SX ret = norm_inf_mul(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_norm_inf_mul__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_norm_inf_mul__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = norm_inf_mul(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;
    }
}


// ================== function "casadi::casadi_norm_inf_mul" ===============
// cppName: "casadi::casadi_norm_inf_mul"
// cWrapperName: "casadi_norm_inf_mul__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_norm_inf_mul__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_norm_inf_mul"
// call: "        casadi::DM ret = norm_inf_mul(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_norm_inf_mul__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_norm_inf_mul__1(std::string ** err_msg, 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 = norm_inf_mul(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;
    }
}


// ================== function "casadi::casadi_norm_inf_mul" ===============
// cppName: "casadi::casadi_norm_inf_mul"
// cWrapperName: "casadi_norm_inf_mul__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_norm_inf_mul__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_norm_inf_mul"
// call: "        casadi::IM ret = norm_inf_mul(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_norm_inf_mul__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_norm_inf_mul__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = norm_inf_mul(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;
    }
}


// ================== function "casadi::casadi_not" ===============
// cppName: "casadi::casadi_not"
// cWrapperName: "casadi_not__0"
// protoArgs: "(std::string ** err_msg, double* x0)"
// params: [(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_not__0(std::string ** err_msg, double* x0)"
// friendWrap: True
// fName: "casadi_not"
// call: "        double ret = !x0_;"
extern "C"
double
    casadi_not__0(std::string ** err_msg, double* x0);
double
    casadi_not__0(std::string ** err_msg, double* x0){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);

        double ret = !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;
    }
}


// ================== function "casadi::casadi_not" ===============
// cppName: "casadi::casadi_not"
// cWrapperName: "casadi_not__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_not__1(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_not"
// call: "        casadi::SX ret = !x0_;"
extern "C"
casadi::SX*
    casadi_not__1(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_not__1(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = !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;
    }
}


// ================== function "casadi::casadi_not" ===============
// cppName: "casadi::casadi_not"
// cWrapperName: "casadi_not__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_not__2(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_not"
// call: "        casadi::DM ret = !x0_;"
extern "C"
casadi::DM*
    casadi_not__2(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_not__2(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = !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;
    }
}


// ================== function "casadi::casadi_not" ===============
// cppName: "casadi::casadi_not"
// cWrapperName: "casadi_not__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_not__3(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_not"
// call: "        casadi::IM ret = !x0_;"
extern "C"
casadi::IM*
    casadi_not__3(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_not__3(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = !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;
    }
}


// ================== function "casadi::casadi_not" ===============
// cppName: "casadi::casadi_not"
// cWrapperName: "casadi_not__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_not__4(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_not"
// call: "        casadi::MX ret = !x0_;"
extern "C"
casadi::MX*
    casadi_not__4(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_not__4(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = !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;
    }
}


// ================== function "casadi::casadi_nullspace" ===============
// cppName: "casadi::casadi_nullspace"
// cWrapperName: "casadi_nullspace__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_nullspace__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_nullspace"
// call: "        casadi::SX ret = nullspace(x0_);"
extern "C"
casadi::SX*
    casadi_nullspace__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_nullspace__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = nullspace(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;
    }
}


// ================== function "casadi::casadi_nullspace" ===============
// cppName: "casadi::casadi_nullspace"
// cWrapperName: "casadi_nullspace__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_nullspace__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_nullspace"
// call: "        casadi::DM ret = nullspace(x0_);"
extern "C"
casadi::DM*
    casadi_nullspace__1(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_nullspace__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = nullspace(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;
    }
}


// ================== function "casadi::casadi_nullspace" ===============
// cppName: "casadi::casadi_nullspace"
// cWrapperName: "casadi_nullspace__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_nullspace__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_nullspace"
// call: "        casadi::IM ret = nullspace(x0_);"
extern "C"
casadi::IM*
    casadi_nullspace__2(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_nullspace__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = nullspace(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;
    }
}


// ================== function "casadi::casadi_nullspace" ===============
// cppName: "casadi::casadi_nullspace"
// cWrapperName: "casadi_nullspace__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_nullspace__3(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_nullspace"
// call: "        casadi::MX ret = nullspace(x0_);"
extern "C"
casadi::MX*
    casadi_nullspace__3(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_nullspace__3(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = nullspace(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;
    }
}


// ================== function "casadi::casadi_offset" ===============
// cppName: "casadi::casadi_offset"
// cWrapperName: "casadi_offset__0"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False)]
// retType: StdVec CLongLong
// args: "(x0_)"
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi_offset__0(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
// friendWrap: True
// fName: "casadi_offset"
// call: "        std::vector< long long > ret = offset(x0_);"
extern "C"
std::vector< long long >*
    casadi_offset__0(std::string ** err_msg, std::vector< casadi::SX* >* x0);
std::vector< long long >*
    casadi_offset__0(std::string ** err_msg, std::vector< casadi::SX* >* x0){
    try {
        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);

        std::vector< long long > ret = offset(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;
    }
}


// ================== function "casadi::casadi_offset" ===============
// cppName: "casadi::casadi_offset"
// cWrapperName: "casadi_offset__1"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, int x1)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(CBool,SwigOutput False)]
// retType: StdVec CLongLong
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi_offset__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, int x1)"
// friendWrap: True
// fName: "casadi_offset"
// call: "        std::vector< long long > ret = offset(x0_, x1_);"
extern "C"
std::vector< long long >*
    casadi_offset__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, int x1);
std::vector< long long >*
    casadi_offset__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, int x1){
    try {
        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        std::vector< long long > ret = offset(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;
    }
}


// ================== function "casadi::casadi_offset" ===============
// cppName: "casadi::casadi_offset"
// cWrapperName: "casadi_offset__2"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False)]
// retType: StdVec CLongLong
// args: "(x0_)"
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi_offset__2(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
// friendWrap: True
// fName: "casadi_offset"
// call: "        std::vector< long long > ret = offset(x0_);"
extern "C"
std::vector< long long >*
    casadi_offset__2(std::string ** err_msg, std::vector< casadi::DM* >* x0);
std::vector< long long >*
    casadi_offset__2(std::string ** err_msg, std::vector< casadi::DM* >* x0){
    try {
        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);

        std::vector< long long > ret = offset(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;
    }
}


// ================== function "casadi::casadi_offset" ===============
// cppName: "casadi::casadi_offset"
// cWrapperName: "casadi_offset__3"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0, int x1)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(CBool,SwigOutput False)]
// retType: StdVec CLongLong
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi_offset__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, int x1)"
// friendWrap: True
// fName: "casadi_offset"
// call: "        std::vector< long long > ret = offset(x0_, x1_);"
extern "C"
std::vector< long long >*
    casadi_offset__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, int x1);
std::vector< long long >*
    casadi_offset__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, int x1){
    try {
        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        std::vector< long long > ret = offset(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;
    }
}


// ================== function "casadi::casadi_offset" ===============
// cppName: "casadi::casadi_offset"
// cWrapperName: "casadi_offset__4"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False)]
// retType: StdVec CLongLong
// args: "(x0_)"
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi_offset__4(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
// friendWrap: True
// fName: "casadi_offset"
// call: "        std::vector< long long > ret = offset(x0_);"
extern "C"
std::vector< long long >*
    casadi_offset__4(std::string ** err_msg, std::vector< casadi::IM* >* x0);
std::vector< long long >*
    casadi_offset__4(std::string ** err_msg, std::vector< casadi::IM* >* x0){
    try {
        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);

        std::vector< long long > ret = offset(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;
    }
}


// ================== function "casadi::casadi_offset" ===============
// cppName: "casadi::casadi_offset"
// cWrapperName: "casadi_offset__5"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0, int x1)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(CBool,SwigOutput False)]
// retType: StdVec CLongLong
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi_offset__5(std::string ** err_msg, std::vector< casadi::IM* >* x0, int x1)"
// friendWrap: True
// fName: "casadi_offset"
// call: "        std::vector< long long > ret = offset(x0_, x1_);"
extern "C"
std::vector< long long >*
    casadi_offset__5(std::string ** err_msg, std::vector< casadi::IM* >* x0, int x1);
std::vector< long long >*
    casadi_offset__5(std::string ** err_msg, std::vector< casadi::IM* >* x0, int x1){
    try {
        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        std::vector< long long > ret = offset(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;
    }
}


// ================== function "casadi::casadi_offset" ===============
// cppName: "casadi::casadi_offset"
// cWrapperName: "casadi_offset__6"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
// retType: StdVec CLongLong
// args: "(x0_)"
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi_offset__6(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
// friendWrap: True
// fName: "casadi_offset"
// call: "        std::vector< long long > ret = offset(x0_);"
extern "C"
std::vector< long long >*
    casadi_offset__6(std::string ** err_msg, std::vector< casadi::MX* >* x0);
std::vector< long long >*
    casadi_offset__6(std::string ** err_msg, std::vector< casadi::MX* >* x0){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);

        std::vector< long long > ret = offset(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;
    }
}


// ================== function "casadi::casadi_offset" ===============
// cppName: "casadi::casadi_offset"
// cWrapperName: "casadi_offset__7"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, int x1)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(CBool,SwigOutput False)]
// retType: StdVec CLongLong
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi_offset__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, int x1)"
// friendWrap: True
// fName: "casadi_offset"
// call: "        std::vector< long long > ret = offset(x0_, x1_);"
extern "C"
std::vector< long long >*
    casadi_offset__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, int x1);
std::vector< long long >*
    casadi_offset__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, int x1){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        std::vector< long long > ret = offset(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;
    }
}


// ================== function "casadi::casadi_offset" ===============
// cppName: "casadi::casadi_offset"
// cWrapperName: "casadi_offset__8"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False)]
// retType: StdVec CLongLong
// args: "(x0_)"
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi_offset__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
// friendWrap: True
// fName: "casadi_offset"
// call: "        std::vector< long long > ret = offset(x0_);"
extern "C"
std::vector< long long >*
    casadi_offset__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
std::vector< long long >*
    casadi_offset__8(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
    try {
        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);

        std::vector< long long > ret = offset(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;
    }
}


// ================== function "casadi::casadi_offset" ===============
// cppName: "casadi::casadi_offset"
// cWrapperName: "casadi_offset__9"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, int x1)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False),(CBool,SwigOutput False)]
// retType: StdVec CLongLong
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    casadi_offset__9(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, int x1)"
// friendWrap: True
// fName: "casadi_offset"
// call: "        std::vector< long long > ret = offset(x0_, x1_);"
extern "C"
std::vector< long long >*
    casadi_offset__9(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, int x1);
std::vector< long long >*
    casadi_offset__9(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0, int x1){
    try {
        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        std::vector< long long > ret = offset(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;
    }
}


// ================== function "casadi::casadi_or" ===============
// cppName: "casadi::casadi_or"
// cWrapperName: "casadi_or__0"
// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_, x1_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_or__0(std::string ** err_msg, double* x0, double* x1)"
// friendWrap: True
// fName: "casadi_or"
// call: "        double ret = x0_ || x1_;"
extern "C"
double
    casadi_or__0(std::string ** err_msg, double* x0, double* x1);
double
    casadi_or__0(std::string ** err_msg, double* x0, double* x1){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);
        double& x1_ = Marshaling<double&,double*>::marshal(x1);

        double ret = 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;
    }
}


// ================== function "casadi::casadi_or" ===============
// cppName: "casadi::casadi_or"
// cWrapperName: "casadi_or__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_or__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_or"
// call: "        casadi::SX ret = x0_ || x1_;"
extern "C"
casadi::SX*
    casadi_or__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_or__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = 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;
    }
}


// ================== function "casadi::casadi_or" ===============
// cppName: "casadi::casadi_or"
// cWrapperName: "casadi_or__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_or__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_or"
// call: "        casadi::DM ret = x0_ || x1_;"
extern "C"
casadi::DM*
    casadi_or__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_or__2(std::string ** err_msg, 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 = 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;
    }
}


// ================== function "casadi::casadi_or" ===============
// cppName: "casadi::casadi_or"
// cWrapperName: "casadi_or__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_or__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_or"
// call: "        casadi::IM ret = x0_ || x1_;"
extern "C"
casadi::IM*
    casadi_or__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_or__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = 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;
    }
}


// ================== function "casadi::casadi_or" ===============
// cppName: "casadi::casadi_or"
// cWrapperName: "casadi_or__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_or__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_or"
// call: "        casadi::MX ret = x0_ || x1_;"
extern "C"
casadi::MX*
    casadi_or__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi_or__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = 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;
    }
}


// ================== function "casadi::casadi_pinv" ===============
// cppName: "casadi::casadi_pinv"
// cWrapperName: "casadi_pinv__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::string* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_pinv__0(std::string ** err_msg, casadi::SX* x0, std::string* x1)"
// friendWrap: True
// fName: "casadi_pinv"
// call: "        casadi::SX ret = pinv(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_pinv__0(std::string ** err_msg, casadi::SX* x0, std::string* x1);
casadi::SX*
    casadi_pinv__0(std::string ** err_msg, casadi::SX* x0, std::string* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::SX ret = pinv(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;
    }
}


// ================== function "casadi::casadi_pinv" ===============
// cppName: "casadi::casadi_pinv"
// cWrapperName: "casadi_pinv__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_pinv__1(std::string ** err_msg, casadi::SX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
// friendWrap: True
// fName: "casadi_pinv"
// call: "        casadi::SX ret = pinv(x0_, x1_, x2_);"
extern "C"
casadi::SX*
    casadi_pinv__1(std::string ** err_msg, casadi::SX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2);
casadi::SX*
    casadi_pinv__1(std::string ** err_msg, casadi::SX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::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::SX ret = pinv(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;
    }
}


// ================== function "casadi::casadi_pinv" ===============
// cppName: "casadi::casadi_pinv"
// cWrapperName: "casadi_pinv__2"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_pinv__2(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_pinv"
// call: "        casadi::SX ret = pinv(x0_);"
extern "C"
casadi::SX*
    casadi_pinv__2(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_pinv__2(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = pinv(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;
    }
}


// ================== function "casadi::casadi_pinv" ===============
// cppName: "casadi::casadi_pinv"
// cWrapperName: "casadi_pinv__3"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::string* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_pinv__3(std::string ** err_msg, casadi::DM* x0, std::string* x1)"
// friendWrap: True
// fName: "casadi_pinv"
// call: "        casadi::DM ret = pinv(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_pinv__3(std::string ** err_msg, casadi::DM* x0, std::string* x1);
casadi::DM*
    casadi_pinv__3(std::string ** err_msg, casadi::DM* x0, std::string* x1){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::DM ret = pinv(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;
    }
}


// ================== function "casadi::casadi_pinv" ===============
// cppName: "casadi::casadi_pinv"
// cWrapperName: "casadi_pinv__4"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_pinv__4(std::string ** err_msg, casadi::DM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
// friendWrap: True
// fName: "casadi_pinv"
// call: "        casadi::DM ret = pinv(x0_, x1_, x2_);"
extern "C"
casadi::DM*
    casadi_pinv__4(std::string ** err_msg, casadi::DM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2);
casadi::DM*
    casadi_pinv__4(std::string ** err_msg, casadi::DM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::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::DM ret = pinv(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;
    }
}


// ================== function "casadi::casadi_pinv" ===============
// cppName: "casadi::casadi_pinv"
// cWrapperName: "casadi_pinv__5"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_pinv__5(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_pinv"
// call: "        casadi::DM ret = pinv(x0_);"
extern "C"
casadi::DM*
    casadi_pinv__5(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_pinv__5(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = pinv(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;
    }
}


// ================== function "casadi::casadi_pinv" ===============
// cppName: "casadi::casadi_pinv"
// cWrapperName: "casadi_pinv__6"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::string* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_pinv__6(std::string ** err_msg, casadi::IM* x0, std::string* x1)"
// friendWrap: True
// fName: "casadi_pinv"
// call: "        casadi::IM ret = pinv(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_pinv__6(std::string ** err_msg, casadi::IM* x0, std::string* x1);
casadi::IM*
    casadi_pinv__6(std::string ** err_msg, casadi::IM* x0, std::string* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::IM ret = pinv(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;
    }
}


// ================== function "casadi::casadi_pinv" ===============
// cppName: "casadi::casadi_pinv"
// cWrapperName: "casadi_pinv__7"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_pinv__7(std::string ** err_msg, casadi::IM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
// friendWrap: True
// fName: "casadi_pinv"
// call: "        casadi::IM ret = pinv(x0_, x1_, x2_);"
extern "C"
casadi::IM*
    casadi_pinv__7(std::string ** err_msg, casadi::IM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2);
casadi::IM*
    casadi_pinv__7(std::string ** err_msg, casadi::IM* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::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::IM ret = pinv(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;
    }
}


// ================== function "casadi::casadi_pinv" ===============
// cppName: "casadi::casadi_pinv"
// cWrapperName: "casadi_pinv__8"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_pinv__8(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_pinv"
// call: "        casadi::IM ret = pinv(x0_);"
extern "C"
casadi::IM*
    casadi_pinv__8(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_pinv__8(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = pinv(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;
    }
}


// ================== function "casadi::casadi_pinv" ===============
// cppName: "casadi::casadi_pinv"
// cWrapperName: "casadi_pinv__9"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::string* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_pinv__9(std::string ** err_msg, casadi::MX* x0, std::string* x1)"
// friendWrap: True
// fName: "casadi_pinv"
// call: "        casadi::MX ret = pinv(x0_, x1_);"
extern "C"
casadi::MX*
    casadi_pinv__9(std::string ** err_msg, casadi::MX* x0, std::string* x1);
casadi::MX*
    casadi_pinv__9(std::string ** err_msg, casadi::MX* x0, std::string* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::MX ret = pinv(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;
    }
}


// ================== function "casadi::casadi_pinv" ===============
// cppName: "casadi::casadi_pinv"
// cWrapperName: "casadi_pinv__10"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_pinv__10(std::string ** err_msg, casadi::MX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
// friendWrap: True
// fName: "casadi_pinv"
// call: "        casadi::MX ret = pinv(x0_, x1_, x2_);"
extern "C"
casadi::MX*
    casadi_pinv__10(std::string ** err_msg, casadi::MX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2);
casadi::MX*
    casadi_pinv__10(std::string ** err_msg, casadi::MX* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::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::MX ret = pinv(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;
    }
}


// ================== function "casadi::casadi_pinv" ===============
// cppName: "casadi::casadi_pinv"
// cWrapperName: "casadi_pinv__11"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_pinv__11(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_pinv"
// call: "        casadi::MX ret = pinv(x0_);"
extern "C"
casadi::MX*
    casadi_pinv__11(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_pinv__11(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = pinv(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;
    }
}


// ================== function "casadi::casadi_plus" ===============
// cppName: "casadi::casadi_plus"
// cWrapperName: "casadi_plus__0"
// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_, x1_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_plus__0(std::string ** err_msg, double* x0, double* x1)"
// friendWrap: True
// fName: "casadi_plus"
// call: "        double ret = x0_ + x1_;"
extern "C"
double
    casadi_plus__0(std::string ** err_msg, double* x0, double* x1);
double
    casadi_plus__0(std::string ** err_msg, double* x0, double* x1){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);
        double& x1_ = Marshaling<double&,double*>::marshal(x1);

        double ret = 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;
    }
}


// ================== function "casadi::casadi_plus" ===============
// cppName: "casadi::casadi_plus"
// cWrapperName: "casadi_plus__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_plus__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_plus"
// call: "        casadi::SX ret = x0_ + x1_;"
extern "C"
casadi::SX*
    casadi_plus__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_plus__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = 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;
    }
}


// ================== function "casadi::casadi_plus" ===============
// cppName: "casadi::casadi_plus"
// cWrapperName: "casadi_plus__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_plus__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_plus"
// call: "        casadi::DM ret = x0_ + x1_;"
extern "C"
casadi::DM*
    casadi_plus__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_plus__2(std::string ** err_msg, 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 = 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;
    }
}


// ================== function "casadi::casadi_plus" ===============
// cppName: "casadi::casadi_plus"
// cWrapperName: "casadi_plus__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_plus__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_plus"
// call: "        casadi::IM ret = x0_ + x1_;"
extern "C"
casadi::IM*
    casadi_plus__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_plus__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = 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;
    }
}


// ================== function "casadi::casadi_plus" ===============
// cppName: "casadi::casadi_plus"
// cWrapperName: "casadi_plus__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_plus__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_plus"
// call: "        casadi::MX ret = x0_ + x1_;"
extern "C"
casadi::MX*
    casadi_plus__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi_plus__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = 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;
    }
}


// ================== function "casadi::casadi_poly_coeff" ===============
// cppName: "casadi::casadi_poly_coeff"
// cWrapperName: "casadi_poly_coeff__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_poly_coeff__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_poly_coeff"
// call: "        casadi::SX ret = poly_coeff(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_poly_coeff__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_poly_coeff__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = poly_coeff(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;
    }
}


// ================== function "casadi::casadi_poly_coeff" ===============
// cppName: "casadi::casadi_poly_coeff"
// cWrapperName: "casadi_poly_coeff__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_poly_coeff__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_poly_coeff"
// call: "        casadi::DM ret = poly_coeff(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_poly_coeff__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_poly_coeff__1(std::string ** err_msg, 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 = poly_coeff(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;
    }
}


// ================== function "casadi::casadi_poly_coeff" ===============
// cppName: "casadi::casadi_poly_coeff"
// cWrapperName: "casadi_poly_coeff__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_poly_coeff__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_poly_coeff"
// call: "        casadi::IM ret = poly_coeff(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_poly_coeff__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_poly_coeff__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = poly_coeff(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;
    }
}


// ================== function "casadi::casadi_poly_roots" ===============
// cppName: "casadi::casadi_poly_roots"
// cWrapperName: "casadi_poly_roots__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_poly_roots__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_poly_roots"
// call: "        casadi::SX ret = poly_roots(x0_);"
extern "C"
casadi::SX*
    casadi_poly_roots__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_poly_roots__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = poly_roots(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;
    }
}


// ================== function "casadi::casadi_poly_roots" ===============
// cppName: "casadi::casadi_poly_roots"
// cWrapperName: "casadi_poly_roots__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_poly_roots__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_poly_roots"
// call: "        casadi::DM ret = poly_roots(x0_);"
extern "C"
casadi::DM*
    casadi_poly_roots__1(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_poly_roots__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = poly_roots(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;
    }
}


// ================== function "casadi::casadi_poly_roots" ===============
// cppName: "casadi::casadi_poly_roots"
// cWrapperName: "casadi_poly_roots__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_poly_roots__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_poly_roots"
// call: "        casadi::IM ret = poly_roots(x0_);"
extern "C"
casadi::IM*
    casadi_poly_roots__2(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_poly_roots__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = poly_roots(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;
    }
}


// ================== function "casadi::casadi_polyval" ===============
// cppName: "casadi::casadi_polyval"
// cWrapperName: "casadi_polyval__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_polyval__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_polyval"
// call: "        casadi::SX ret = polyval(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_polyval__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_polyval__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = polyval(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;
    }
}


// ================== function "casadi::casadi_polyval" ===============
// cppName: "casadi::casadi_polyval"
// cWrapperName: "casadi_polyval__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_polyval__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_polyval"
// call: "        casadi::DM ret = polyval(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_polyval__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_polyval__1(std::string ** err_msg, 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 = polyval(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;
    }
}


// ================== function "casadi::casadi_polyval" ===============
// cppName: "casadi::casadi_polyval"
// cWrapperName: "casadi_polyval__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_polyval__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_polyval"
// call: "        casadi::IM ret = polyval(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_polyval__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_polyval__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = polyval(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;
    }
}


// ================== function "casadi::casadi_polyval" ===============
// cppName: "casadi::casadi_polyval"
// cWrapperName: "casadi_polyval__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_polyval__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_polyval"
// call: "        casadi::MX ret = polyval(x0_, x1_);"
extern "C"
casadi::MX*
    casadi_polyval__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi_polyval__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = polyval(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;
    }
}


// ================== function "casadi::casadi_power" ===============
// cppName: "casadi::casadi_power"
// cWrapperName: "casadi_power__0"
// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_, x1_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_power__0(std::string ** err_msg, double* x0, double* x1)"
// friendWrap: True
// fName: "casadi_power"
// call: "        double ret = pow(x0_, x1_);"
extern "C"
double
    casadi_power__0(std::string ** err_msg, double* x0, double* x1);
double
    casadi_power__0(std::string ** err_msg, double* x0, double* x1){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);
        double& x1_ = Marshaling<double&,double*>::marshal(x1);

        double ret = pow(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;
    }
}


// ================== function "casadi::casadi_power" ===============
// cppName: "casadi::casadi_power"
// cWrapperName: "casadi_power__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_power__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_power"
// call: "        casadi::SX ret = pow(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_power__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_power__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = pow(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;
    }
}


// ================== function "casadi::casadi_power" ===============
// cppName: "casadi::casadi_power"
// cWrapperName: "casadi_power__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_power__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_power"
// call: "        casadi::DM ret = pow(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_power__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_power__2(std::string ** err_msg, 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 = pow(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;
    }
}


// ================== function "casadi::casadi_power" ===============
// cppName: "casadi::casadi_power"
// cWrapperName: "casadi_power__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_power__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_power"
// call: "        casadi::IM ret = pow(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_power__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_power__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = pow(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;
    }
}


// ================== function "casadi::casadi_power" ===============
// cppName: "casadi::casadi_power"
// cWrapperName: "casadi_power__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_power__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_power"
// call: "        casadi::MX ret = pow(x0_, x1_);"
extern "C"
casadi::MX*
    casadi_power__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi_power__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = pow(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;
    }
}


// ================== function "casadi::casadi_print_operator" ===============
// cppName: "casadi::casadi_print_operator"
// cWrapperName: "casadi_print_operator__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::vector< std::string* >* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
// retType: StdString
// args: "(x0_, x1_)"
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi_print_operator__0(std::string ** err_msg, casadi::SX* x0, std::vector< std::string* >* x1)"
// friendWrap: True
// fName: "casadi_print_operator"
// call: "        std::string ret = print_operator(x0_, x1_);"
extern "C"
std::string*
    casadi_print_operator__0(std::string ** err_msg, casadi::SX* x0, std::vector< std::string* >* x1);
std::string*
    casadi_print_operator__0(std::string ** err_msg, casadi::SX* x0, std::vector< std::string* >* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);

        std::string ret = print_operator(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;
    }
}


// ================== function "casadi::casadi_print_operator" ===============
// cppName: "casadi::casadi_print_operator"
// cWrapperName: "casadi_print_operator__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::vector< std::string* >* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
// retType: StdString
// args: "(x0_, x1_)"
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi_print_operator__1(std::string ** err_msg, casadi::DM* x0, std::vector< std::string* >* x1)"
// friendWrap: True
// fName: "casadi_print_operator"
// call: "        std::string ret = print_operator(x0_, x1_);"
extern "C"
std::string*
    casadi_print_operator__1(std::string ** err_msg, casadi::DM* x0, std::vector< std::string* >* x1);
std::string*
    casadi_print_operator__1(std::string ** err_msg, casadi::DM* x0, std::vector< std::string* >* x1){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);

        std::string ret = print_operator(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;
    }
}


// ================== function "casadi::casadi_print_operator" ===============
// cppName: "casadi::casadi_print_operator"
// cWrapperName: "casadi_print_operator__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::vector< std::string* >* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
// retType: StdString
// args: "(x0_, x1_)"
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi_print_operator__2(std::string ** err_msg, casadi::IM* x0, std::vector< std::string* >* x1)"
// friendWrap: True
// fName: "casadi_print_operator"
// call: "        std::string ret = print_operator(x0_, x1_);"
extern "C"
std::string*
    casadi_print_operator__2(std::string ** err_msg, casadi::IM* x0, std::vector< std::string* >* x1);
std::string*
    casadi_print_operator__2(std::string ** err_msg, casadi::IM* x0, std::vector< std::string* >* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);

        std::string ret = print_operator(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;
    }
}


// ================== function "casadi::casadi_print_operator" ===============
// cppName: "casadi::casadi_print_operator"
// cWrapperName: "casadi_print_operator__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< std::string* >* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec StdString)),SwigOutput False)]
// retType: StdString
// args: "(x0_, x1_)"
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    casadi_print_operator__3(std::string ** err_msg, casadi::MX* x0, std::vector< std::string* >* x1)"
// friendWrap: True
// fName: "casadi_print_operator"
// call: "        std::string ret = print_operator(x0_, x1_);"
extern "C"
std::string*
    casadi_print_operator__3(std::string ** err_msg, casadi::MX* x0, std::vector< std::string* >* x1);
std::string*
    casadi_print_operator__3(std::string ** err_msg, casadi::MX* x0, std::vector< std::string* >* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::vector< std::string > x1_ = Marshaling<std::vector< std::string >,std::vector< std::string* >*>::marshal(x1);

        std::string ret = print_operator(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;
    }
}


// ================== function "casadi::casadi_project" ===============
// cppName: "casadi::casadi_project"
// cWrapperName: "casadi_project__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_project__0(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1)"
// friendWrap: True
// fName: "casadi_project"
// call: "        casadi::SX ret = project(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_project__0(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1);
casadi::SX*
    casadi_project__0(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);

        casadi::SX ret = project(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;
    }
}


// ================== function "casadi::casadi_project" ===============
// cppName: "casadi::casadi_project"
// cWrapperName: "casadi_project__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1, int x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CBool,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_project__1(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1, int x2)"
// friendWrap: True
// fName: "casadi_project"
// call: "        casadi::SX ret = project(x0_, x1_, x2_);"
extern "C"
casadi::SX*
    casadi_project__1(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1, int x2);
casadi::SX*
    casadi_project__1(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1, int x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        casadi::SX ret = project(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;
    }
}


// ================== function "casadi::casadi_project" ===============
// cppName: "casadi::casadi_project"
// cWrapperName: "casadi_project__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_project__2(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1)"
// friendWrap: True
// fName: "casadi_project"
// call: "        casadi::DM ret = project(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_project__2(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1);
casadi::DM*
    casadi_project__2(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);

        casadi::DM ret = project(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;
    }
}


// ================== function "casadi::casadi_project" ===============
// cppName: "casadi::casadi_project"
// cWrapperName: "casadi_project__3"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1, int x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CBool,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_project__3(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1, int x2)"
// friendWrap: True
// fName: "casadi_project"
// call: "        casadi::DM ret = project(x0_, x1_, x2_);"
extern "C"
casadi::DM*
    casadi_project__3(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1, int x2);
casadi::DM*
    casadi_project__3(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1, int x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        casadi::DM ret = project(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;
    }
}


// ================== function "casadi::casadi_project" ===============
// cppName: "casadi::casadi_project"
// cWrapperName: "casadi_project__4"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_project__4(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1)"
// friendWrap: True
// fName: "casadi_project"
// call: "        casadi::IM ret = project(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_project__4(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1);
casadi::IM*
    casadi_project__4(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);

        casadi::IM ret = project(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;
    }
}


// ================== function "casadi::casadi_project" ===============
// cppName: "casadi::casadi_project"
// cWrapperName: "casadi_project__5"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1, int x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CBool,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_project__5(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1, int x2)"
// friendWrap: True
// fName: "casadi_project"
// call: "        casadi::IM ret = project(x0_, x1_, x2_);"
extern "C"
casadi::IM*
    casadi_project__5(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1, int x2);
casadi::IM*
    casadi_project__5(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1, int x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        casadi::IM ret = project(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;
    }
}


// ================== function "casadi::casadi_project" ===============
// cppName: "casadi::casadi_project"
// cWrapperName: "casadi_project__6"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_project__6(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1)"
// friendWrap: True
// fName: "casadi_project"
// call: "        casadi::MX ret = project(x0_, x1_);"
extern "C"
casadi::MX*
    casadi_project__6(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1);
casadi::MX*
    casadi_project__6(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);

        casadi::MX ret = project(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;
    }
}


// ================== function "casadi::casadi_project" ===============
// cppName: "casadi::casadi_project"
// cWrapperName: "casadi_project__7"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1, int x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CBool,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_project__7(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1, int x2)"
// friendWrap: True
// fName: "casadi_project"
// call: "        casadi::MX ret = project(x0_, x1_, x2_);"
extern "C"
casadi::MX*
    casadi_project__7(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1, int x2);
casadi::MX*
    casadi_project__7(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1, int x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

        casadi::MX ret = project(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;
    }
}


// ================== function "casadi::casadi_pw_const" ===============
// cppName: "casadi::casadi_pw_const"
// cWrapperName: "casadi_pw_const__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_pw_const__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
// friendWrap: True
// fName: "casadi_pw_const"
// call: "        casadi::SX ret = pw_const(x0_, x1_, x2_);"
extern "C"
casadi::SX*
    casadi_pw_const__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
casadi::SX*
    casadi_pw_const__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);

        casadi::SX ret = pw_const(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;
    }
}


// ================== function "casadi::casadi_pw_const" ===============
// cppName: "casadi::casadi_pw_const"
// cWrapperName: "casadi_pw_const__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_pw_const__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
// friendWrap: True
// fName: "casadi_pw_const"
// call: "        casadi::DM ret = pw_const(x0_, x1_, x2_);"
extern "C"
casadi::DM*
    casadi_pw_const__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
casadi::DM*
    casadi_pw_const__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::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 = pw_const(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;
    }
}


// ================== function "casadi::casadi_pw_const" ===============
// cppName: "casadi::casadi_pw_const"
// cWrapperName: "casadi_pw_const__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_pw_const__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
// friendWrap: True
// fName: "casadi_pw_const"
// call: "        casadi::IM ret = pw_const(x0_, x1_, x2_);"
extern "C"
casadi::IM*
    casadi_pw_const__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
casadi::IM*
    casadi_pw_const__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::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 = pw_const(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;
    }
}


// ================== function "casadi::casadi_pw_lin" ===============
// cppName: "casadi::casadi_pw_lin"
// cWrapperName: "casadi_pw_lin__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_pw_lin__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
// friendWrap: True
// fName: "casadi_pw_lin"
// call: "        casadi::SX ret = pw_lin(x0_, x1_, x2_);"
extern "C"
casadi::SX*
    casadi_pw_lin__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
casadi::SX*
    casadi_pw_lin__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);

        casadi::SX ret = pw_lin(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;
    }
}


// ================== function "casadi::casadi_pw_lin" ===============
// cppName: "casadi::casadi_pw_lin"
// cWrapperName: "casadi_pw_lin__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_pw_lin__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
// friendWrap: True
// fName: "casadi_pw_lin"
// call: "        casadi::DM ret = pw_lin(x0_, x1_, x2_);"
extern "C"
casadi::DM*
    casadi_pw_lin__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
casadi::DM*
    casadi_pw_lin__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::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 = pw_lin(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;
    }
}


// ================== function "casadi::casadi_pw_lin" ===============
// cppName: "casadi::casadi_pw_lin"
// cWrapperName: "casadi_pw_lin__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_pw_lin__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
// friendWrap: True
// fName: "casadi_pw_lin"
// call: "        casadi::IM ret = pw_lin(x0_, x1_, x2_);"
extern "C"
casadi::IM*
    casadi_pw_lin__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
casadi::IM*
    casadi_pw_lin__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::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 = pw_lin(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;
    }
}


// ================== function "casadi::casadi_qr" ===============
// cppName: "casadi::casadi_qr"
// cWrapperName: "casadi_qr__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_qr__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
// friendWrap: True
// fName: "casadi_qr"
// call: "        qr(x0_, x1_, x2_);"
extern "C"
void
    casadi_qr__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
void
    casadi_qr__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);

        qr(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;
    }
}


// ================== function "casadi::casadi_qr" ===============
// cppName: "casadi::casadi_qr"
// cWrapperName: "casadi_qr__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_qr__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
// friendWrap: True
// fName: "casadi_qr"
// call: "        qr(x0_, x1_, x2_);"
extern "C"
void
    casadi_qr__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
void
    casadi_qr__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);

        qr(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;
    }
}


// ================== function "casadi::casadi_qr" ===============
// cppName: "casadi::casadi_qr"
// cWrapperName: "casadi_qr__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_qr__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
// friendWrap: True
// fName: "casadi_qr"
// call: "        qr(x0_, x1_, x2_);"
extern "C"
void
    casadi_qr__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
void
    casadi_qr__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);

        qr(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;
    }
}


// ================== function "casadi::casadi_qr_solve" ===============
// cppName: "casadi::casadi_qr_solve"
// cWrapperName: "casadi_qr_solve__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, std::vector< long long >* x4, std::vector< long long >* x5)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_qr_solve__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, std::vector< long long >* x4, std::vector< long long >* x5)"
// friendWrap: True
// fName: "casadi_qr_solve"
// call: "        casadi::SX ret = qr_solve(x0_, x1_, x2_, x3_, x4_, x5_);"
extern "C"
casadi::SX*
    casadi_qr_solve__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, std::vector< long long >* x4, std::vector< long long >* x5);
casadi::SX*
    casadi_qr_solve__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, std::vector< long long >* x4, std::vector< long long >* x5){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
        casadi::SX& x3_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x3);
        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);

        casadi::SX ret = qr_solve(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::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_qr_solve" ===============
// cppName: "casadi::casadi_qr_solve"
// cWrapperName: "casadi_qr_solve__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_qr_solve__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6)"
// friendWrap: True
// fName: "casadi_qr_solve"
// call: "        casadi::SX ret = qr_solve(x0_, x1_, x2_, x3_, x4_, x5_, x6_);"
extern "C"
casadi::SX*
    casadi_qr_solve__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6);
casadi::SX*
    casadi_qr_solve__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
        casadi::SX& x3_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x3);
        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);
        bool x6_ = Marshaling<bool,int>::marshal(x6);

        casadi::SX ret = qr_solve(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::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_qr_solve" ===============
// cppName: "casadi::casadi_qr_solve"
// cWrapperName: "casadi_qr_solve__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, std::vector< long long >* x4, std::vector< long long >* x5)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_qr_solve__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, std::vector< long long >* x4, std::vector< long long >* x5)"
// friendWrap: True
// fName: "casadi_qr_solve"
// call: "        casadi::DM ret = qr_solve(x0_, x1_, x2_, x3_, x4_, x5_);"
extern "C"
casadi::DM*
    casadi_qr_solve__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, std::vector< long long >* x4, std::vector< long long >* x5);
casadi::DM*
    casadi_qr_solve__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, std::vector< long long >* x4, std::vector< long long >* x5){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
        casadi::DM& x3_ = Marshaling<casadi::DM&,casadi::DM*>::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);

        casadi::DM ret = qr_solve(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::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_qr_solve" ===============
// cppName: "casadi::casadi_qr_solve"
// cWrapperName: "casadi_qr_solve__3"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_qr_solve__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6)"
// friendWrap: True
// fName: "casadi_qr_solve"
// call: "        casadi::DM ret = qr_solve(x0_, x1_, x2_, x3_, x4_, x5_, x6_);"
extern "C"
casadi::DM*
    casadi_qr_solve__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6);
casadi::DM*
    casadi_qr_solve__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
        casadi::DM& x3_ = Marshaling<casadi::DM&,casadi::DM*>::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);
        bool x6_ = Marshaling<bool,int>::marshal(x6);

        casadi::DM ret = qr_solve(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::DM*, casadi::DM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_qr_solve" ===============
// cppName: "casadi::casadi_qr_solve"
// cWrapperName: "casadi_qr_solve__4"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, std::vector< long long >* x4, std::vector< long long >* x5)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_qr_solve__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, std::vector< long long >* x4, std::vector< long long >* x5)"
// friendWrap: True
// fName: "casadi_qr_solve"
// call: "        casadi::IM ret = qr_solve(x0_, x1_, x2_, x3_, x4_, x5_);"
extern "C"
casadi::IM*
    casadi_qr_solve__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, std::vector< long long >* x4, std::vector< long long >* x5);
casadi::IM*
    casadi_qr_solve__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, std::vector< long long >* x4, std::vector< long long >* x5){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::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);

        casadi::IM ret = qr_solve(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::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_qr_solve" ===============
// cppName: "casadi::casadi_qr_solve"
// cWrapperName: "casadi_qr_solve__5"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_qr_solve__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6)"
// friendWrap: True
// fName: "casadi_qr_solve"
// call: "        casadi::IM ret = qr_solve(x0_, x1_, x2_, x3_, x4_, x5_, x6_);"
extern "C"
casadi::IM*
    casadi_qr_solve__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6);
casadi::IM*
    casadi_qr_solve__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::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);
        bool x6_ = Marshaling<bool,int>::marshal(x6);

        casadi::IM ret = qr_solve(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::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_qr_sparse" ===============
// cppName: "casadi::casadi_qr_sparse"
// cWrapperName: "casadi_qr_sparse__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, std::vector< long long >* x4, std::vector< long long >* x5)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_qr_sparse__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, std::vector< long long >* x4, std::vector< long long >* x5)"
// friendWrap: True
// fName: "casadi_qr_sparse"
// call: "        qr_sparse(x0_, x1_, x2_, x3_, x4_, x5_);"
extern "C"
void
    casadi_qr_sparse__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, std::vector< long long >* x4, std::vector< long long >* x5);
void
    casadi_qr_sparse__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, std::vector< long long >* x4, std::vector< long long >* x5){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
        casadi::SX& x3_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x3);
        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);

        qr_sparse(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;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== function "casadi::casadi_qr_sparse" ===============
// cppName: "casadi::casadi_qr_sparse"
// cWrapperName: "casadi_qr_sparse__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False),(CBool,SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_qr_sparse__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6)"
// friendWrap: True
// fName: "casadi_qr_sparse"
// call: "        qr_sparse(x0_, x1_, x2_, x3_, x4_, x5_, x6_);"
extern "C"
void
    casadi_qr_sparse__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6);
void
    casadi_qr_sparse__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
        casadi::SX& x3_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x3);
        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);
        bool x6_ = Marshaling<bool,int>::marshal(x6);

        qr_sparse(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;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== function "casadi::casadi_qr_sparse" ===============
// cppName: "casadi::casadi_qr_sparse"
// cWrapperName: "casadi_qr_sparse__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, std::vector< long long >* x4, std::vector< long long >* x5)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_qr_sparse__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, std::vector< long long >* x4, std::vector< long long >* x5)"
// friendWrap: True
// fName: "casadi_qr_sparse"
// call: "        qr_sparse(x0_, x1_, x2_, x3_, x4_, x5_);"
extern "C"
void
    casadi_qr_sparse__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, std::vector< long long >* x4, std::vector< long long >* x5);
void
    casadi_qr_sparse__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, std::vector< long long >* x4, std::vector< long long >* x5){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
        casadi::DM& x3_ = Marshaling<casadi::DM&,casadi::DM*>::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);

        qr_sparse(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;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== function "casadi::casadi_qr_sparse" ===============
// cppName: "casadi::casadi_qr_sparse"
// cWrapperName: "casadi_qr_sparse__3"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False),(CBool,SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_qr_sparse__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6)"
// friendWrap: True
// fName: "casadi_qr_sparse"
// call: "        qr_sparse(x0_, x1_, x2_, x3_, x4_, x5_, x6_);"
extern "C"
void
    casadi_qr_sparse__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6);
void
    casadi_qr_sparse__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
        casadi::DM& x3_ = Marshaling<casadi::DM&,casadi::DM*>::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);
        bool x6_ = Marshaling<bool,int>::marshal(x6);

        qr_sparse(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;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== function "casadi::casadi_qr_sparse" ===============
// cppName: "casadi::casadi_qr_sparse"
// cWrapperName: "casadi_qr_sparse__4"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, std::vector< long long >* x4, std::vector< long long >* x5)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_qr_sparse__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, std::vector< long long >* x4, std::vector< long long >* x5)"
// friendWrap: True
// fName: "casadi_qr_sparse"
// call: "        qr_sparse(x0_, x1_, x2_, x3_, x4_, x5_);"
extern "C"
void
    casadi_qr_sparse__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, std::vector< long long >* x4, std::vector< long long >* x5);
void
    casadi_qr_sparse__4(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, std::vector< long long >* x4, std::vector< long long >* x5){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::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);

        qr_sparse(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;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== function "casadi::casadi_qr_sparse" ===============
// cppName: "casadi::casadi_qr_sparse"
// cWrapperName: "casadi_qr_sparse__5"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False),(Ref (StdVec CLongLong),SwigOutput False),(CBool,SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_qr_sparse__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6)"
// friendWrap: True
// fName: "casadi_qr_sparse"
// call: "        qr_sparse(x0_, x1_, x2_, x3_, x4_, x5_, x6_);"
extern "C"
void
    casadi_qr_sparse__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6);
void
    casadi_qr_sparse__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, std::vector< long long >* x4, std::vector< long long >* x5, int x6){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::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);
        bool x6_ = Marshaling<bool,int>::marshal(x6);

        qr_sparse(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;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== function "casadi::casadi_quadratic_coeff" ===============
// cppName: "casadi::casadi_quadratic_coeff"
// cWrapperName: "casadi_quadratic_coeff__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, casadi::SX* x4)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "SX")),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_, x4_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_quadratic_coeff__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, casadi::SX* x4)"
// friendWrap: True
// fName: "casadi_quadratic_coeff"
// call: "        quadratic_coeff(x0_, x1_, x2_, x3_, x4_);"
extern "C"
void
    casadi_quadratic_coeff__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, casadi::SX* x4);
void
    casadi_quadratic_coeff__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3, casadi::SX* x4){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
        casadi::SX& x3_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x3);
        casadi::SX& x4_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x4);

        quadratic_coeff(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;
    }
}


// ================== function "casadi::casadi_quadratic_coeff" ===============
// cppName: "casadi::casadi_quadratic_coeff"
// cWrapperName: "casadi_quadratic_coeff__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, casadi::DM* x4)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "DM")),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_, x4_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_quadratic_coeff__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, casadi::DM* x4)"
// friendWrap: True
// fName: "casadi_quadratic_coeff"
// call: "        quadratic_coeff(x0_, x1_, x2_, x3_, x4_);"
extern "C"
void
    casadi_quadratic_coeff__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, casadi::DM* x4);
void
    casadi_quadratic_coeff__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3, casadi::DM* x4){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
        casadi::DM& x3_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x3);
        casadi::DM& x4_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x4);

        quadratic_coeff(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;
    }
}


// ================== function "casadi::casadi_quadratic_coeff" ===============
// cppName: "casadi::casadi_quadratic_coeff"
// cWrapperName: "casadi_quadratic_coeff__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, casadi::IM* x4)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "IM")),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_, x4_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_quadratic_coeff__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, casadi::IM* x4)"
// friendWrap: True
// fName: "casadi_quadratic_coeff"
// call: "        quadratic_coeff(x0_, x1_, x2_, x3_, x4_);"
extern "C"
void
    casadi_quadratic_coeff__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, casadi::IM* x4);
void
    casadi_quadratic_coeff__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3, casadi::IM* x4){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);
        casadi::IM& x4_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x4);

        quadratic_coeff(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;
    }
}


// ================== function "casadi::casadi_quadratic_coeff" ===============
// cppName: "casadi::casadi_quadratic_coeff"
// cWrapperName: "casadi_quadratic_coeff__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3, casadi::MX* x4)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput False),(Ref (UserType (Namespace ["casadi"]) (Name "MX")),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_, x4_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_quadratic_coeff__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3, casadi::MX* x4)"
// friendWrap: True
// fName: "casadi_quadratic_coeff"
// call: "        quadratic_coeff(x0_, x1_, x2_, x3_, x4_);"
extern "C"
void
    casadi_quadratic_coeff__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3, casadi::MX* x4);
void
    casadi_quadratic_coeff__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3, casadi::MX* x4){
    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& x3_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x3);
        casadi::MX& x4_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x4);

        quadratic_coeff(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;
    }
}


// ================== function "casadi::casadi_ramp" ===============
// cppName: "casadi::casadi_ramp"
// cWrapperName: "casadi_ramp__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_ramp__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_ramp"
// call: "        casadi::SX ret = ramp(x0_);"
extern "C"
casadi::SX*
    casadi_ramp__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_ramp__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = ramp(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;
    }
}


// ================== function "casadi::casadi_ramp" ===============
// cppName: "casadi::casadi_ramp"
// cWrapperName: "casadi_ramp__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_ramp__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_ramp"
// call: "        casadi::DM ret = ramp(x0_);"
extern "C"
casadi::DM*
    casadi_ramp__1(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_ramp__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = ramp(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;
    }
}


// ================== function "casadi::casadi_ramp" ===============
// cppName: "casadi::casadi_ramp"
// cWrapperName: "casadi_ramp__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_ramp__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_ramp"
// call: "        casadi::IM ret = ramp(x0_);"
extern "C"
casadi::IM*
    casadi_ramp__2(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_ramp__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = ramp(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;
    }
}


// ================== function "casadi::casadi_rank1" ===============
// cppName: "casadi::casadi_rank1"
// cWrapperName: "casadi_rank1__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_rank1__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3)"
// friendWrap: True
// fName: "casadi_rank1"
// call: "        casadi::SX ret = rank1(x0_, x1_, x2_, x3_);"
extern "C"
casadi::SX*
    casadi_rank1__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3);
casadi::SX*
    casadi_rank1__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, casadi::SX* x3){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
        casadi::SX& x3_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x3);

        casadi::SX ret = rank1(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;
    }
}


// ================== function "casadi::casadi_rank1" ===============
// cppName: "casadi::casadi_rank1"
// cWrapperName: "casadi_rank1__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_rank1__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3)"
// friendWrap: True
// fName: "casadi_rank1"
// call: "        casadi::DM ret = rank1(x0_, x1_, x2_, x3_);"
extern "C"
casadi::DM*
    casadi_rank1__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3);
casadi::DM*
    casadi_rank1__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, casadi::DM* x3){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
        casadi::DM& x3_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x3);

        casadi::DM ret = rank1(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;
    }
}


// ================== function "casadi::casadi_rank1" ===============
// cppName: "casadi::casadi_rank1"
// cWrapperName: "casadi_rank1__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_rank1__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3)"
// friendWrap: True
// fName: "casadi_rank1"
// call: "        casadi::IM ret = rank1(x0_, x1_, x2_, x3_);"
extern "C"
casadi::IM*
    casadi_rank1__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3);
casadi::IM*
    casadi_rank1__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, casadi::IM* x3){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        casadi::IM& x3_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x3);

        casadi::IM ret = rank1(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;
    }
}


// ================== function "casadi::casadi_rank1" ===============
// cppName: "casadi::casadi_rank1"
// cWrapperName: "casadi_rank1__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3)"
// 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 (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_rank1__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3)"
// friendWrap: True
// fName: "casadi_rank1"
// call: "        casadi::MX ret = rank1(x0_, x1_, x2_, x3_);"
extern "C"
casadi::MX*
    casadi_rank1__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3);
casadi::MX*
    casadi_rank1__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2, casadi::MX* x3){
    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& x3_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x3);

        casadi::MX ret = rank1(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::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_rdivide" ===============
// cppName: "casadi::casadi_rdivide"
// cWrapperName: "casadi_rdivide__0"
// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_, x1_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_rdivide__0(std::string ** err_msg, double* x0, double* x1)"
// friendWrap: True
// fName: "casadi_rdivide"
// call: "        double ret = x0_ / x1_;"
extern "C"
double
    casadi_rdivide__0(std::string ** err_msg, double* x0, double* x1);
double
    casadi_rdivide__0(std::string ** err_msg, double* x0, double* x1){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);
        double& x1_ = Marshaling<double&,double*>::marshal(x1);

        double ret = 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;
    }
}


// ================== function "casadi::casadi_rdivide" ===============
// cppName: "casadi::casadi_rdivide"
// cWrapperName: "casadi_rdivide__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_rdivide__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_rdivide"
// call: "        casadi::SX ret = x0_ / x1_;"
extern "C"
casadi::SX*
    casadi_rdivide__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_rdivide__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = 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;
    }
}


// ================== function "casadi::casadi_rdivide" ===============
// cppName: "casadi::casadi_rdivide"
// cWrapperName: "casadi_rdivide__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_rdivide__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_rdivide"
// call: "        casadi::DM ret = x0_ / x1_;"
extern "C"
casadi::DM*
    casadi_rdivide__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_rdivide__2(std::string ** err_msg, 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 = 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;
    }
}


// ================== function "casadi::casadi_rdivide" ===============
// cppName: "casadi::casadi_rdivide"
// cWrapperName: "casadi_rdivide__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_rdivide__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_rdivide"
// call: "        casadi::IM ret = x0_ / x1_;"
extern "C"
casadi::IM*
    casadi_rdivide__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_rdivide__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = 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;
    }
}


// ================== function "casadi::casadi_rdivide" ===============
// cppName: "casadi::casadi_rdivide"
// cWrapperName: "casadi_rdivide__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_rdivide__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_rdivide"
// call: "        casadi::MX ret = x0_ / x1_;"
extern "C"
casadi::MX*
    casadi_rdivide__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi_rdivide__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = 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;
    }
}


// ================== function "casadi::casadi_rectangle" ===============
// cppName: "casadi::casadi_rectangle"
// cWrapperName: "casadi_rectangle__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_rectangle__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_rectangle"
// call: "        casadi::SX ret = rectangle(x0_);"
extern "C"
casadi::SX*
    casadi_rectangle__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_rectangle__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = rectangle(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;
    }
}


// ================== function "casadi::casadi_rectangle" ===============
// cppName: "casadi::casadi_rectangle"
// cWrapperName: "casadi_rectangle__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_rectangle__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_rectangle"
// call: "        casadi::DM ret = rectangle(x0_);"
extern "C"
casadi::DM*
    casadi_rectangle__1(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_rectangle__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = rectangle(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;
    }
}


// ================== function "casadi::casadi_rectangle" ===============
// cppName: "casadi::casadi_rectangle"
// cWrapperName: "casadi_rectangle__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_rectangle__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_rectangle"
// call: "        casadi::IM ret = rectangle(x0_);"
extern "C"
casadi::IM*
    casadi_rectangle__2(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_rectangle__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = rectangle(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;
    }
}


// ================== function "casadi::casadi_repmat" ===============
// cppName: "casadi::casadi_repmat"
// cWrapperName: "casadi_repmat__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::pair< long long, long long >* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_repmat__0(std::string ** err_msg, casadi::SX* x0, std::pair< long long, long long >* x1)"
// friendWrap: True
// fName: "casadi_repmat"
// call: "        casadi::SX ret = repmat(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_repmat__0(std::string ** err_msg, casadi::SX* x0, std::pair< long long, long long >* x1);
casadi::SX*
    casadi_repmat__0(std::string ** err_msg, casadi::SX* x0, std::pair< long long, long long >* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::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 = repmat(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;
    }
}


// ================== function "casadi::casadi_repmat" ===============
// cppName: "casadi::casadi_repmat"
// cWrapperName: "casadi_repmat__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_repmat__1(std::string ** err_msg, casadi::SX* x0, long long x1)"
// friendWrap: True
// fName: "casadi_repmat"
// call: "        casadi::SX ret = repmat(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_repmat__1(std::string ** err_msg, casadi::SX* x0, long long x1);
casadi::SX*
    casadi_repmat__1(std::string ** err_msg, casadi::SX* x0, long long x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::SX ret = repmat(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;
    }
}


// ================== function "casadi::casadi_repmat" ===============
// cppName: "casadi::casadi_repmat"
// cWrapperName: "casadi_repmat__2"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_repmat__2(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2)"
// friendWrap: True
// fName: "casadi_repmat"
// call: "        casadi::SX ret = repmat(x0_, x1_, x2_);"
extern "C"
casadi::SX*
    casadi_repmat__2(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2);
casadi::SX*
    casadi_repmat__2(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::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 = repmat(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;
    }
}


// ================== function "casadi::casadi_repmat" ===============
// cppName: "casadi::casadi_repmat"
// cWrapperName: "casadi_repmat__3"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::pair< long long, long long >* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_repmat__3(std::string ** err_msg, casadi::DM* x0, std::pair< long long, long long >* x1)"
// friendWrap: True
// fName: "casadi_repmat"
// call: "        casadi::DM ret = repmat(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_repmat__3(std::string ** err_msg, casadi::DM* x0, std::pair< long long, long long >* x1);
casadi::DM*
    casadi_repmat__3(std::string ** err_msg, casadi::DM* x0, std::pair< long long, long long >* x1){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::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 = repmat(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;
    }
}


// ================== function "casadi::casadi_repmat" ===============
// cppName: "casadi::casadi_repmat"
// cWrapperName: "casadi_repmat__4"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_repmat__4(std::string ** err_msg, casadi::DM* x0, long long x1)"
// friendWrap: True
// fName: "casadi_repmat"
// call: "        casadi::DM ret = repmat(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_repmat__4(std::string ** err_msg, casadi::DM* x0, long long x1);
casadi::DM*
    casadi_repmat__4(std::string ** err_msg, casadi::DM* x0, long long x1){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::DM ret = repmat(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;
    }
}


// ================== function "casadi::casadi_repmat" ===============
// cppName: "casadi::casadi_repmat"
// cWrapperName: "casadi_repmat__5"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_repmat__5(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2)"
// friendWrap: True
// fName: "casadi_repmat"
// call: "        casadi::DM ret = repmat(x0_, x1_, x2_);"
extern "C"
casadi::DM*
    casadi_repmat__5(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2);
casadi::DM*
    casadi_repmat__5(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::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 = repmat(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;
    }
}


// ================== function "casadi::casadi_repmat" ===============
// cppName: "casadi::casadi_repmat"
// cWrapperName: "casadi_repmat__6"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::pair< long long, long long >* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_repmat__6(std::string ** err_msg, casadi::IM* x0, std::pair< long long, long long >* x1)"
// friendWrap: True
// fName: "casadi_repmat"
// call: "        casadi::IM ret = repmat(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_repmat__6(std::string ** err_msg, casadi::IM* x0, std::pair< long long, long long >* x1);
casadi::IM*
    casadi_repmat__6(std::string ** err_msg, casadi::IM* x0, std::pair< long long, long long >* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::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 = repmat(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;
    }
}


// ================== function "casadi::casadi_repmat" ===============
// cppName: "casadi::casadi_repmat"
// cWrapperName: "casadi_repmat__7"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_repmat__7(std::string ** err_msg, casadi::IM* x0, long long x1)"
// friendWrap: True
// fName: "casadi_repmat"
// call: "        casadi::IM ret = repmat(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_repmat__7(std::string ** err_msg, casadi::IM* x0, long long x1);
casadi::IM*
    casadi_repmat__7(std::string ** err_msg, casadi::IM* x0, long long x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::IM ret = repmat(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;
    }
}


// ================== function "casadi::casadi_repmat" ===============
// cppName: "casadi::casadi_repmat"
// cWrapperName: "casadi_repmat__8"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_repmat__8(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2)"
// friendWrap: True
// fName: "casadi_repmat"
// call: "        casadi::IM ret = repmat(x0_, x1_, x2_);"
extern "C"
casadi::IM*
    casadi_repmat__8(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2);
casadi::IM*
    casadi_repmat__8(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::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 = repmat(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;
    }
}


// ================== function "casadi::casadi_repmat" ===============
// cppName: "casadi::casadi_repmat"
// cWrapperName: "casadi_repmat__9"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::pair< long long, long long >* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_repmat__9(std::string ** err_msg, casadi::MX* x0, std::pair< long long, long long >* x1)"
// friendWrap: True
// fName: "casadi_repmat"
// call: "        casadi::MX ret = repmat(x0_, x1_);"
extern "C"
casadi::MX*
    casadi_repmat__9(std::string ** err_msg, casadi::MX* x0, std::pair< long long, long long >* x1);
casadi::MX*
    casadi_repmat__9(std::string ** err_msg, casadi::MX* x0, std::pair< long long, long long >* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::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 = repmat(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;
    }
}


// ================== function "casadi::casadi_repmat" ===============
// cppName: "casadi::casadi_repmat"
// cWrapperName: "casadi_repmat__10"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_repmat__10(std::string ** err_msg, casadi::MX* x0, long long x1)"
// friendWrap: True
// fName: "casadi_repmat"
// call: "        casadi::MX ret = repmat(x0_, x1_);"
extern "C"
casadi::MX*
    casadi_repmat__10(std::string ** err_msg, casadi::MX* x0, long long x1);
casadi::MX*
    casadi_repmat__10(std::string ** err_msg, 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);

        casadi::MX ret = repmat(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;
    }
}


// ================== function "casadi::casadi_repmat" ===============
// cppName: "casadi::casadi_repmat"
// cWrapperName: "casadi_repmat__11"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_repmat__11(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2)"
// friendWrap: True
// fName: "casadi_repmat"
// call: "        casadi::MX ret = repmat(x0_, x1_, x2_);"
extern "C"
casadi::MX*
    casadi_repmat__11(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2);
casadi::MX*
    casadi_repmat__11(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::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 = repmat(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;
    }
}


// ================== function "casadi::casadi_repmat" ===============
// cppName: "casadi::casadi_repmat"
// cWrapperName: "casadi_repmat__12"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, std::pair< long long, long long >* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (StdPair CLongLong CLongLong)),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi_repmat__12(std::string ** err_msg, casadi::Sparsity* x0, std::pair< long long, long long >* x1)"
// friendWrap: True
// fName: "casadi_repmat"
// call: "        casadi::Sparsity ret = repmat(x0_, x1_);"
extern "C"
casadi::Sparsity*
    casadi_repmat__12(std::string ** err_msg, casadi::Sparsity* x0, std::pair< long long, long long >* x1);
casadi::Sparsity*
    casadi_repmat__12(std::string ** err_msg, casadi::Sparsity* x0, std::pair< long long, long long >* x1){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::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::Sparsity ret = repmat(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;
    }
}


// ================== function "casadi::casadi_repmat" ===============
// cppName: "casadi::casadi_repmat"
// cWrapperName: "casadi_repmat__13"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi_repmat__13(std::string ** err_msg, casadi::Sparsity* x0, long long x1)"
// friendWrap: True
// fName: "casadi_repmat"
// call: "        casadi::Sparsity ret = repmat(x0_, x1_);"
extern "C"
casadi::Sparsity*
    casadi_repmat__13(std::string ** err_msg, casadi::Sparsity* x0, long long x1);
casadi::Sparsity*
    casadi_repmat__13(std::string ** err_msg, 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 = repmat(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;
    }
}


// ================== function "casadi::casadi_repmat" ===============
// cppName: "casadi::casadi_repmat"
// cWrapperName: "casadi_repmat__14"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, long long x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi_repmat__14(std::string ** err_msg, casadi::Sparsity* x0, long long x1, long long x2)"
// friendWrap: True
// fName: "casadi_repmat"
// call: "        casadi::Sparsity ret = repmat(x0_, x1_, x2_);"
extern "C"
casadi::Sparsity*
    casadi_repmat__14(std::string ** err_msg, casadi::Sparsity* x0, long long x1, long long x2);
casadi::Sparsity*
    casadi_repmat__14(std::string ** err_msg, casadi::Sparsity* x0, long long x1, long long x2){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        casadi::Sparsity ret = repmat(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;
    }
}


// ================== function "casadi::casadi_repsum" ===============
// cppName: "casadi::casadi_repsum"
// cWrapperName: "casadi_repsum__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_repsum__0(std::string ** err_msg, casadi::SX* x0, long long x1)"
// friendWrap: True
// fName: "casadi_repsum"
// call: "        casadi::SX ret = repsum(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_repsum__0(std::string ** err_msg, casadi::SX* x0, long long x1);
casadi::SX*
    casadi_repsum__0(std::string ** err_msg, casadi::SX* x0, long long x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::SX ret = repsum(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;
    }
}


// ================== function "casadi::casadi_repsum" ===============
// cppName: "casadi::casadi_repsum"
// cWrapperName: "casadi_repsum__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_repsum__1(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2)"
// friendWrap: True
// fName: "casadi_repsum"
// call: "        casadi::SX ret = repsum(x0_, x1_, x2_);"
extern "C"
casadi::SX*
    casadi_repsum__1(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2);
casadi::SX*
    casadi_repsum__1(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::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 = repsum(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;
    }
}


// ================== function "casadi::casadi_repsum" ===============
// cppName: "casadi::casadi_repsum"
// cWrapperName: "casadi_repsum__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_repsum__2(std::string ** err_msg, casadi::DM* x0, long long x1)"
// friendWrap: True
// fName: "casadi_repsum"
// call: "        casadi::DM ret = repsum(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_repsum__2(std::string ** err_msg, casadi::DM* x0, long long x1);
casadi::DM*
    casadi_repsum__2(std::string ** err_msg, casadi::DM* x0, long long x1){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::DM ret = repsum(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;
    }
}


// ================== function "casadi::casadi_repsum" ===============
// cppName: "casadi::casadi_repsum"
// cWrapperName: "casadi_repsum__3"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_repsum__3(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2)"
// friendWrap: True
// fName: "casadi_repsum"
// call: "        casadi::DM ret = repsum(x0_, x1_, x2_);"
extern "C"
casadi::DM*
    casadi_repsum__3(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2);
casadi::DM*
    casadi_repsum__3(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::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 = repsum(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;
    }
}


// ================== function "casadi::casadi_repsum" ===============
// cppName: "casadi::casadi_repsum"
// cWrapperName: "casadi_repsum__4"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_repsum__4(std::string ** err_msg, casadi::IM* x0, long long x1)"
// friendWrap: True
// fName: "casadi_repsum"
// call: "        casadi::IM ret = repsum(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_repsum__4(std::string ** err_msg, casadi::IM* x0, long long x1);
casadi::IM*
    casadi_repsum__4(std::string ** err_msg, casadi::IM* x0, long long x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::IM ret = repsum(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;
    }
}


// ================== function "casadi::casadi_repsum" ===============
// cppName: "casadi::casadi_repsum"
// cWrapperName: "casadi_repsum__5"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_repsum__5(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2)"
// friendWrap: True
// fName: "casadi_repsum"
// call: "        casadi::IM ret = repsum(x0_, x1_, x2_);"
extern "C"
casadi::IM*
    casadi_repsum__5(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2);
casadi::IM*
    casadi_repsum__5(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::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 = repsum(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;
    }
}


// ================== function "casadi::casadi_repsum" ===============
// cppName: "casadi::casadi_repsum"
// cWrapperName: "casadi_repsum__6"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_repsum__6(std::string ** err_msg, casadi::MX* x0, long long x1)"
// friendWrap: True
// fName: "casadi_repsum"
// call: "        casadi::MX ret = repsum(x0_, x1_);"
extern "C"
casadi::MX*
    casadi_repsum__6(std::string ** err_msg, casadi::MX* x0, long long x1);
casadi::MX*
    casadi_repsum__6(std::string ** err_msg, 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);

        casadi::MX ret = repsum(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;
    }
}


// ================== function "casadi::casadi_repsum" ===============
// cppName: "casadi::casadi_repsum"
// cWrapperName: "casadi_repsum__7"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_repsum__7(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2)"
// friendWrap: True
// fName: "casadi_repsum"
// call: "        casadi::MX ret = repsum(x0_, x1_, x2_);"
extern "C"
casadi::MX*
    casadi_repsum__7(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2);
casadi::MX*
    casadi_repsum__7(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::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 = repsum(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;
    }
}


// ================== function "casadi::casadi_reshape" ===============
// cppName: "casadi::casadi_reshape"
// cWrapperName: "casadi_reshape__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_reshape__0(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1)"
// friendWrap: True
// fName: "casadi_reshape"
// call: "        casadi::SX ret = reshape(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_reshape__0(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1);
casadi::SX*
    casadi_reshape__0(std::string ** err_msg, casadi::SX* x0, casadi::Sparsity* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);

        casadi::SX ret = reshape(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;
    }
}


// ================== function "casadi::casadi_reshape" ===============
// cppName: "casadi::casadi_reshape"
// cWrapperName: "casadi_reshape__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::pair< long long, long long >* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(StdPair CLongLong CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_reshape__1(std::string ** err_msg, casadi::SX* x0, std::pair< long long, long long >* x1)"
// friendWrap: True
// fName: "casadi_reshape"
// call: "        casadi::SX ret = reshape(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_reshape__1(std::string ** err_msg, casadi::SX* x0, std::pair< long long, long long >* x1);
casadi::SX*
    casadi_reshape__1(std::string ** err_msg, casadi::SX* x0, std::pair< long long, long long >* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::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 = reshape(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;
    }
}


// ================== function "casadi::casadi_reshape" ===============
// cppName: "casadi::casadi_reshape"
// cWrapperName: "casadi_reshape__2"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_reshape__2(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2)"
// friendWrap: True
// fName: "casadi_reshape"
// call: "        casadi::SX ret = reshape(x0_, x1_, x2_);"
extern "C"
casadi::SX*
    casadi_reshape__2(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2);
casadi::SX*
    casadi_reshape__2(std::string ** err_msg, casadi::SX* x0, long long x1, long long x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::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 = reshape(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;
    }
}


// ================== function "casadi::casadi_reshape" ===============
// cppName: "casadi::casadi_reshape"
// cWrapperName: "casadi_reshape__3"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_reshape__3(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1)"
// friendWrap: True
// fName: "casadi_reshape"
// call: "        casadi::DM ret = reshape(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_reshape__3(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1);
casadi::DM*
    casadi_reshape__3(std::string ** err_msg, casadi::DM* x0, casadi::Sparsity* x1){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);

        casadi::DM ret = reshape(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;
    }
}


// ================== function "casadi::casadi_reshape" ===============
// cppName: "casadi::casadi_reshape"
// cWrapperName: "casadi_reshape__4"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::pair< long long, long long >* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(StdPair CLongLong CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_reshape__4(std::string ** err_msg, casadi::DM* x0, std::pair< long long, long long >* x1)"
// friendWrap: True
// fName: "casadi_reshape"
// call: "        casadi::DM ret = reshape(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_reshape__4(std::string ** err_msg, casadi::DM* x0, std::pair< long long, long long >* x1);
casadi::DM*
    casadi_reshape__4(std::string ** err_msg, casadi::DM* x0, std::pair< long long, long long >* x1){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::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 = reshape(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;
    }
}


// ================== function "casadi::casadi_reshape" ===============
// cppName: "casadi::casadi_reshape"
// cWrapperName: "casadi_reshape__5"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_reshape__5(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2)"
// friendWrap: True
// fName: "casadi_reshape"
// call: "        casadi::DM ret = reshape(x0_, x1_, x2_);"
extern "C"
casadi::DM*
    casadi_reshape__5(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2);
casadi::DM*
    casadi_reshape__5(std::string ** err_msg, casadi::DM* x0, long long x1, long long x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::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 = reshape(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;
    }
}


// ================== function "casadi::casadi_reshape" ===============
// cppName: "casadi::casadi_reshape"
// cWrapperName: "casadi_reshape__6"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_reshape__6(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1)"
// friendWrap: True
// fName: "casadi_reshape"
// call: "        casadi::IM ret = reshape(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_reshape__6(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1);
casadi::IM*
    casadi_reshape__6(std::string ** err_msg, casadi::IM* x0, casadi::Sparsity* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);

        casadi::IM ret = reshape(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;
    }
}


// ================== function "casadi::casadi_reshape" ===============
// cppName: "casadi::casadi_reshape"
// cWrapperName: "casadi_reshape__7"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::pair< long long, long long >* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(StdPair CLongLong CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_reshape__7(std::string ** err_msg, casadi::IM* x0, std::pair< long long, long long >* x1)"
// friendWrap: True
// fName: "casadi_reshape"
// call: "        casadi::IM ret = reshape(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_reshape__7(std::string ** err_msg, casadi::IM* x0, std::pair< long long, long long >* x1);
casadi::IM*
    casadi_reshape__7(std::string ** err_msg, casadi::IM* x0, std::pair< long long, long long >* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::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 = reshape(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;
    }
}


// ================== function "casadi::casadi_reshape" ===============
// cppName: "casadi::casadi_reshape"
// cWrapperName: "casadi_reshape__8"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_reshape__8(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2)"
// friendWrap: True
// fName: "casadi_reshape"
// call: "        casadi::IM ret = reshape(x0_, x1_, x2_);"
extern "C"
casadi::IM*
    casadi_reshape__8(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2);
casadi::IM*
    casadi_reshape__8(std::string ** err_msg, casadi::IM* x0, long long x1, long long x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::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 = reshape(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;
    }
}


// ================== function "casadi::casadi_reshape" ===============
// cppName: "casadi::casadi_reshape"
// cWrapperName: "casadi_reshape__9"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_reshape__9(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1)"
// friendWrap: True
// fName: "casadi_reshape"
// call: "        casadi::MX ret = reshape(x0_, x1_);"
extern "C"
casadi::MX*
    casadi_reshape__9(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1);
casadi::MX*
    casadi_reshape__9(std::string ** err_msg, casadi::MX* x0, casadi::Sparsity* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::Sparsity& x1_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x1);

        casadi::MX ret = reshape(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;
    }
}


// ================== function "casadi::casadi_reshape" ===============
// cppName: "casadi::casadi_reshape"
// cWrapperName: "casadi_reshape__10"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::pair< long long, long long >* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(StdPair CLongLong CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_reshape__10(std::string ** err_msg, casadi::MX* x0, std::pair< long long, long long >* x1)"
// friendWrap: True
// fName: "casadi_reshape"
// call: "        casadi::MX ret = reshape(x0_, x1_);"
extern "C"
casadi::MX*
    casadi_reshape__10(std::string ** err_msg, casadi::MX* x0, std::pair< long long, long long >* x1);
casadi::MX*
    casadi_reshape__10(std::string ** err_msg, casadi::MX* x0, std::pair< long long, long long >* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::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 = reshape(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;
    }
}


// ================== function "casadi::casadi_reshape" ===============
// cppName: "casadi::casadi_reshape"
// cWrapperName: "casadi_reshape__11"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_reshape__11(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2)"
// friendWrap: True
// fName: "casadi_reshape"
// call: "        casadi::MX ret = reshape(x0_, x1_, x2_);"
extern "C"
casadi::MX*
    casadi_reshape__11(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2);
casadi::MX*
    casadi_reshape__11(std::string ** err_msg, casadi::MX* x0, long long x1, long long x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::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 = reshape(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;
    }
}


// ================== function "casadi::casadi_reshape" ===============
// cppName: "casadi::casadi_reshape"
// cWrapperName: "casadi_reshape__12"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi_reshape__12(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1)"
// friendWrap: True
// fName: "casadi_reshape"
// call: "        casadi::Sparsity ret = reshape(x0_, x1_);"
extern "C"
casadi::Sparsity*
    casadi_reshape__12(std::string ** err_msg, casadi::Sparsity* x0, casadi::Sparsity* x1);
casadi::Sparsity*
    casadi_reshape__12(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 = reshape(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;
    }
}


// ================== function "casadi::casadi_reshape" ===============
// cppName: "casadi::casadi_reshape"
// cWrapperName: "casadi_reshape__13"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, std::pair< long long, long long >* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(StdPair CLongLong CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi_reshape__13(std::string ** err_msg, casadi::Sparsity* x0, std::pair< long long, long long >* x1)"
// friendWrap: True
// fName: "casadi_reshape"
// call: "        casadi::Sparsity ret = reshape(x0_, x1_);"
extern "C"
casadi::Sparsity*
    casadi_reshape__13(std::string ** err_msg, casadi::Sparsity* x0, std::pair< long long, long long >* x1);
casadi::Sparsity*
    casadi_reshape__13(std::string ** err_msg, casadi::Sparsity* x0, std::pair< long long, long long >* x1){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::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::Sparsity ret = reshape(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;
    }
}


// ================== function "casadi::casadi_reshape" ===============
// cppName: "casadi::casadi_reshape"
// cWrapperName: "casadi_reshape__14"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, long long x1, long long x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi_reshape__14(std::string ** err_msg, casadi::Sparsity* x0, long long x1, long long x2)"
// friendWrap: True
// fName: "casadi_reshape"
// call: "        casadi::Sparsity ret = reshape(x0_, x1_, x2_);"
extern "C"
casadi::Sparsity*
    casadi_reshape__14(std::string ** err_msg, casadi::Sparsity* x0, long long x1, long long x2);
casadi::Sparsity*
    casadi_reshape__14(std::string ** err_msg, casadi::Sparsity* x0, long long x1, long long x2){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);

        casadi::Sparsity ret = reshape(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;
    }
}


// ================== function "casadi::casadi_reverse" ===============
// cppName: "casadi::casadi_reverse"
// cWrapperName: "casadi_reverse__0"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))),SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< std::vector< casadi::SX* >* >*"
// proto: "std::vector< std::vector< casadi::SX* >* >*\n    casadi_reverse__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2)"
// friendWrap: True
// fName: "casadi_reverse"
// call: "        std::vector< std::vector< casadi::SX > > ret = reverse(x0_, x1_, x2_);"
extern "C"
std::vector< std::vector< casadi::SX* >* >*
    casadi_reverse__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2);
std::vector< std::vector< casadi::SX* >* >*
    casadi_reverse__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2){
    try {
        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
        std::vector< std::vector< casadi::SX > > x2_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x2);

        std::vector< std::vector< casadi::SX > > ret = reverse(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< 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;
    }
}


// ================== function "casadi::casadi_reverse" ===============
// cppName: "casadi::casadi_reverse"
// cWrapperName: "casadi_reverse__1"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "std::vector< std::vector< casadi::SX* >* >*"
// proto: "std::vector< std::vector< casadi::SX* >* >*\n    casadi_reverse__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// friendWrap: True
// fName: "casadi_reverse"
// call: "        std::vector< std::vector< casadi::SX > > ret = reverse(x0_, x1_, x2_, x3_);"
extern "C"
std::vector< std::vector< casadi::SX* >* >*
    casadi_reverse__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::map< std::string, casadi::GenericType* >* x3);
std::vector< std::vector< casadi::SX* >* >*
    casadi_reverse__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< std::vector< casadi::SX* >* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
        std::vector< std::vector< casadi::SX > > x2_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< 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);

        std::vector< std::vector< casadi::SX > > ret = reverse(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;
    }
}


// ================== function "casadi::casadi_reverse" ===============
// cppName: "casadi::casadi_reverse"
// cWrapperName: "casadi_reverse__2"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))))),SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< std::vector< casadi::DM* >* >*"
// proto: "std::vector< std::vector< casadi::DM* >* >*\n    casadi_reverse__2(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2)"
// friendWrap: True
// fName: "casadi_reverse"
// call: "        std::vector< std::vector< casadi::DM > > ret = reverse(x0_, x1_, x2_);"
extern "C"
std::vector< std::vector< casadi::DM* >* >*
    casadi_reverse__2(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2);
std::vector< std::vector< casadi::DM* >* >*
    casadi_reverse__2(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2){
    try {
        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
        std::vector< std::vector< casadi::DM > > x2_ = Marshaling<std::vector< std::vector< casadi::DM > >,std::vector< std::vector< casadi::DM* >* >*>::marshal(x2);

        std::vector< std::vector< casadi::DM > > ret = reverse(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< 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;
    }
}


// ================== function "casadi::casadi_reverse" ===============
// cppName: "casadi::casadi_reverse"
// cWrapperName: "casadi_reverse__3"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "std::vector< std::vector< casadi::DM* >* >*"
// proto: "std::vector< std::vector< casadi::DM* >* >*\n    casadi_reverse__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// friendWrap: True
// fName: "casadi_reverse"
// call: "        std::vector< std::vector< casadi::DM > > ret = reverse(x0_, x1_, x2_, x3_);"
extern "C"
std::vector< std::vector< casadi::DM* >* >*
    casadi_reverse__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::map< std::string, casadi::GenericType* >* x3);
std::vector< std::vector< casadi::DM* >* >*
    casadi_reverse__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< std::vector< casadi::DM* >* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
        std::vector< std::vector< casadi::DM > > x2_ = Marshaling<std::vector< std::vector< casadi::DM > >,std::vector< std::vector< casadi::DM* >* >*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        std::vector< std::vector< casadi::DM > > ret = reverse(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;
    }
}


// ================== function "casadi::casadi_reverse" ===============
// cppName: "casadi::casadi_reverse"
// cWrapperName: "casadi_reverse__4"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< std::vector< casadi::IM* >* >* x2)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))))),SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< std::vector< casadi::IM* >* >*"
// proto: "std::vector< std::vector< casadi::IM* >* >*\n    casadi_reverse__4(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< std::vector< casadi::IM* >* >* x2)"
// friendWrap: True
// fName: "casadi_reverse"
// call: "        std::vector< std::vector< casadi::IM > > ret = reverse(x0_, x1_, x2_);"
extern "C"
std::vector< std::vector< casadi::IM* >* >*
    casadi_reverse__4(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< std::vector< casadi::IM* >* >* x2);
std::vector< std::vector< casadi::IM* >* >*
    casadi_reverse__4(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< std::vector< casadi::IM* >* >* x2){
    try {
        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
        std::vector< casadi::IM > x1_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x1);
        std::vector< std::vector< casadi::IM > > x2_ = Marshaling<std::vector< std::vector< casadi::IM > >,std::vector< std::vector< casadi::IM* >* >*>::marshal(x2);

        std::vector< std::vector< casadi::IM > > ret = reverse(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< 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;
    }
}


// ================== function "casadi::casadi_reverse" ===============
// cppName: "casadi::casadi_reverse"
// cWrapperName: "casadi_reverse__5"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< std::vector< casadi::IM* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "std::vector< std::vector< casadi::IM* >* >*"
// proto: "std::vector< std::vector< casadi::IM* >* >*\n    casadi_reverse__5(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< std::vector< casadi::IM* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// friendWrap: True
// fName: "casadi_reverse"
// call: "        std::vector< std::vector< casadi::IM > > ret = reverse(x0_, x1_, x2_, x3_);"
extern "C"
std::vector< std::vector< casadi::IM* >* >*
    casadi_reverse__5(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< std::vector< casadi::IM* >* >* x2, std::map< std::string, casadi::GenericType* >* x3);
std::vector< std::vector< casadi::IM* >* >*
    casadi_reverse__5(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< std::vector< casadi::IM* >* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
        std::vector< casadi::IM > x1_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x1);
        std::vector< std::vector< casadi::IM > > x2_ = Marshaling<std::vector< std::vector< casadi::IM > >,std::vector< std::vector< casadi::IM* >* >*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        std::vector< std::vector< casadi::IM > > ret = reverse(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;
    }
}


// ================== function "casadi::casadi_reverse" ===============
// cppName: "casadi::casadi_reverse"
// cWrapperName: "casadi_reverse__6"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))),SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< std::vector< casadi::MX* >* >*"
// proto: "std::vector< std::vector< casadi::MX* >* >*\n    casadi_reverse__6(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2)"
// friendWrap: True
// fName: "casadi_reverse"
// call: "        std::vector< std::vector< casadi::MX > > ret = reverse(x0_, x1_, x2_);"
extern "C"
std::vector< std::vector< casadi::MX* >* >*
    casadi_reverse__6(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2);
std::vector< std::vector< casadi::MX* >* >*
    casadi_reverse__6(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
        std::vector< std::vector< casadi::MX > > x2_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x2);

        std::vector< std::vector< casadi::MX > > ret = reverse(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< 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;
    }
}


// ================== function "casadi::casadi_reverse" ===============
// cppName: "casadi::casadi_reverse"
// cWrapperName: "casadi_reverse__7"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "std::vector< std::vector< casadi::MX* >* >*"
// proto: "std::vector< std::vector< casadi::MX* >* >*\n    casadi_reverse__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// friendWrap: True
// fName: "casadi_reverse"
// call: "        std::vector< std::vector< casadi::MX > > ret = reverse(x0_, x1_, x2_, x3_);"
extern "C"
std::vector< std::vector< casadi::MX* >* >*
    casadi_reverse__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::map< std::string, casadi::GenericType* >* x3);
std::vector< std::vector< casadi::MX* >* >*
    casadi_reverse__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< std::vector< casadi::MX* >* >* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
        std::vector< std::vector< casadi::MX > > x2_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< 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);

        std::vector< std::vector< casadi::MX > > ret = reverse(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;
    }
}


// ================== function "casadi::casadi_shared" ===============
// cppName: "casadi::casadi_shared"
// cWrapperName: "casadi_shared__0"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_shared__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3)"
// friendWrap: True
// fName: "casadi_shared"
// call: "        shared(x0_, x1_, x2_, x3_);"
extern "C"
void
    casadi_shared__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3);
void
    casadi_shared__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3){
    try {
        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
        std::vector< casadi::SX > x2_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x2);
        std::vector< casadi::SX > x3_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x3);

        shared(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;
    }
}


// ================== function "casadi::casadi_shared" ===============
// cppName: "casadi::casadi_shared"
// cWrapperName: "casadi_shared__1"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3, std::string* x4)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_, x4_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_shared__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3, std::string* x4)"
// friendWrap: True
// fName: "casadi_shared"
// call: "        shared(x0_, x1_, x2_, x3_, x4_);"
extern "C"
void
    casadi_shared__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3, std::string* x4);
void
    casadi_shared__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3, std::string* x4){
    try {
        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
        std::vector< casadi::SX > x2_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x2);
        std::vector< casadi::SX > x3_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x3);
        std::string& x4_ = Marshaling<std::string&,std::string*>::marshal(x4);

        shared(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;
    }
}


// ================== function "casadi::casadi_shared" ===============
// cppName: "casadi::casadi_shared"
// cWrapperName: "casadi_shared__2"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3, std::string* x4, std::string* x5)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_shared__2(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3, std::string* x4, std::string* x5)"
// friendWrap: True
// fName: "casadi_shared"
// call: "        shared(x0_, x1_, x2_, x3_, x4_, x5_);"
extern "C"
void
    casadi_shared__2(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3, std::string* x4, std::string* x5);
void
    casadi_shared__2(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, std::vector< casadi::SX* >* x3, std::string* x4, std::string* x5){
    try {
        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
        std::vector< casadi::SX > x2_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x2);
        std::vector< casadi::SX > x3_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x3);
        std::string& x4_ = Marshaling<std::string&,std::string*>::marshal(x4);
        std::string& x5_ = Marshaling<std::string&,std::string*>::marshal(x5);

        shared(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;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== function "casadi::casadi_shared" ===============
// cppName: "casadi::casadi_shared"
// cWrapperName: "casadi_shared__3"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_shared__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3)"
// friendWrap: True
// fName: "casadi_shared"
// call: "        shared(x0_, x1_, x2_, x3_);"
extern "C"
void
    casadi_shared__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3);
void
    casadi_shared__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3){
    try {
        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
        std::vector< casadi::DM > x2_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x2);
        std::vector< casadi::DM > x3_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x3);

        shared(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;
    }
}


// ================== function "casadi::casadi_shared" ===============
// cppName: "casadi::casadi_shared"
// cWrapperName: "casadi_shared__4"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3, std::string* x4)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_, x4_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_shared__4(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3, std::string* x4)"
// friendWrap: True
// fName: "casadi_shared"
// call: "        shared(x0_, x1_, x2_, x3_, x4_);"
extern "C"
void
    casadi_shared__4(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3, std::string* x4);
void
    casadi_shared__4(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3, std::string* x4){
    try {
        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
        std::vector< casadi::DM > x2_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x2);
        std::vector< casadi::DM > x3_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x3);
        std::string& x4_ = Marshaling<std::string&,std::string*>::marshal(x4);

        shared(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;
    }
}


// ================== function "casadi::casadi_shared" ===============
// cppName: "casadi::casadi_shared"
// cWrapperName: "casadi_shared__5"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3, std::string* x4, std::string* x5)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_shared__5(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3, std::string* x4, std::string* x5)"
// friendWrap: True
// fName: "casadi_shared"
// call: "        shared(x0_, x1_, x2_, x3_, x4_, x5_);"
extern "C"
void
    casadi_shared__5(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3, std::string* x4, std::string* x5);
void
    casadi_shared__5(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, std::vector< casadi::DM* >* x3, std::string* x4, std::string* x5){
    try {
        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
        std::vector< casadi::DM > x2_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x2);
        std::vector< casadi::DM > x3_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x3);
        std::string& x4_ = Marshaling<std::string&,std::string*>::marshal(x4);
        std::string& x5_ = Marshaling<std::string&,std::string*>::marshal(x5);

        shared(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;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== function "casadi::casadi_shared" ===============
// cppName: "casadi::casadi_shared"
// cWrapperName: "casadi_shared__6"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_shared__6(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3)"
// friendWrap: True
// fName: "casadi_shared"
// call: "        shared(x0_, x1_, x2_, x3_);"
extern "C"
void
    casadi_shared__6(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3);
void
    casadi_shared__6(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3){
    try {
        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
        std::vector< casadi::IM > x1_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x1);
        std::vector< casadi::IM > x2_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x2);
        std::vector< casadi::IM > x3_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x3);

        shared(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;
    }
}


// ================== function "casadi::casadi_shared" ===============
// cppName: "casadi::casadi_shared"
// cWrapperName: "casadi_shared__7"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3, std::string* x4)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_, x4_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_shared__7(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3, std::string* x4)"
// friendWrap: True
// fName: "casadi_shared"
// call: "        shared(x0_, x1_, x2_, x3_, x4_);"
extern "C"
void
    casadi_shared__7(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3, std::string* x4);
void
    casadi_shared__7(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3, std::string* x4){
    try {
        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
        std::vector< casadi::IM > x1_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x1);
        std::vector< casadi::IM > x2_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x2);
        std::vector< casadi::IM > x3_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x3);
        std::string& x4_ = Marshaling<std::string&,std::string*>::marshal(x4);

        shared(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;
    }
}


// ================== function "casadi::casadi_shared" ===============
// cppName: "casadi::casadi_shared"
// cWrapperName: "casadi_shared__8"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3, std::string* x4, std::string* x5)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_shared__8(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3, std::string* x4, std::string* x5)"
// friendWrap: True
// fName: "casadi_shared"
// call: "        shared(x0_, x1_, x2_, x3_, x4_, x5_);"
extern "C"
void
    casadi_shared__8(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3, std::string* x4, std::string* x5);
void
    casadi_shared__8(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, std::vector< casadi::IM* >* x3, std::string* x4, std::string* x5){
    try {
        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
        std::vector< casadi::IM > x1_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x1);
        std::vector< casadi::IM > x2_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x2);
        std::vector< casadi::IM > x3_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x3);
        std::string& x4_ = Marshaling<std::string&,std::string*>::marshal(x4);
        std::string& x5_ = Marshaling<std::string&,std::string*>::marshal(x5);

        shared(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;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== function "casadi::casadi_shared" ===============
// cppName: "casadi::casadi_shared"
// cWrapperName: "casadi_shared__9"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_shared__9(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3)"
// friendWrap: True
// fName: "casadi_shared"
// call: "        shared(x0_, x1_, x2_, x3_);"
extern "C"
void
    casadi_shared__9(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3);
void
    casadi_shared__9(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);
        std::vector< casadi::MX > x3_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x3);

        shared(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;
    }
}


// ================== function "casadi::casadi_shared" ===============
// cppName: "casadi::casadi_shared"
// cWrapperName: "casadi_shared__10"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3, std::string* x4)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_, x4_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_shared__10(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3, std::string* x4)"
// friendWrap: True
// fName: "casadi_shared"
// call: "        shared(x0_, x1_, x2_, x3_, x4_);"
extern "C"
void
    casadi_shared__10(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3, std::string* x4);
void
    casadi_shared__10(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3, std::string* x4){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);
        std::vector< casadi::MX > x3_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x3);
        std::string& x4_ = Marshaling<std::string&,std::string*>::marshal(x4);

        shared(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;
    }
}


// ================== function "casadi::casadi_shared" ===============
// cppName: "casadi::casadi_shared"
// cWrapperName: "casadi_shared__11"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3, std::string* x4, std::string* x5)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_shared__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3, std::string* x4, std::string* x5)"
// friendWrap: True
// fName: "casadi_shared"
// call: "        shared(x0_, x1_, x2_, x3_, x4_, x5_);"
extern "C"
void
    casadi_shared__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3, std::string* x4, std::string* x5);
void
    casadi_shared__11(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, std::vector< casadi::MX* >* x3, std::string* x4, std::string* x5){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);
        std::vector< casadi::MX > x3_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x3);
        std::string& x4_ = Marshaling<std::string&,std::string*>::marshal(x4);
        std::string& x5_ = Marshaling<std::string&,std::string*>::marshal(x5);

        shared(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;
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return;
    }
}


// ================== function "casadi::casadi_sign" ===============
// cppName: "casadi::casadi_sign"
// cWrapperName: "casadi_sign__0"
// protoArgs: "(std::string ** err_msg, double* x0)"
// params: [(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_sign__0(std::string ** err_msg, double* x0)"
// friendWrap: True
// fName: "casadi_sign"
// call: "        double ret = casadi::sign(x0_);"
extern "C"
double
    casadi_sign__0(std::string ** err_msg, double* x0);
double
    casadi_sign__0(std::string ** err_msg, double* x0){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);

        double ret = casadi::sign(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;
    }
}


// ================== function "casadi::casadi_sign" ===============
// cppName: "casadi::casadi_sign"
// cWrapperName: "casadi_sign__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_sign__1(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_sign"
// call: "        casadi::SX ret = sign(x0_);"
extern "C"
casadi::SX*
    casadi_sign__1(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_sign__1(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = sign(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;
    }
}


// ================== function "casadi::casadi_sign" ===============
// cppName: "casadi::casadi_sign"
// cWrapperName: "casadi_sign__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_sign__2(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_sign"
// call: "        casadi::DM ret = sign(x0_);"
extern "C"
casadi::DM*
    casadi_sign__2(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_sign__2(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = sign(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;
    }
}


// ================== function "casadi::casadi_sign" ===============
// cppName: "casadi::casadi_sign"
// cWrapperName: "casadi_sign__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_sign__3(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_sign"
// call: "        casadi::IM ret = sign(x0_);"
extern "C"
casadi::IM*
    casadi_sign__3(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_sign__3(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = sign(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;
    }
}


// ================== function "casadi::casadi_sign" ===============
// cppName: "casadi::casadi_sign"
// cWrapperName: "casadi_sign__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_sign__4(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_sign"
// call: "        casadi::MX ret = sign(x0_);"
extern "C"
casadi::MX*
    casadi_sign__4(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_sign__4(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = sign(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;
    }
}


// ================== function "casadi::casadi_simplify" ===============
// cppName: "casadi::casadi_simplify"
// cWrapperName: "casadi_simplify__0"
// protoArgs: "(std::string ** err_msg, double* x0)"
// params: [(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_simplify__0(std::string ** err_msg, double* x0)"
// friendWrap: True
// fName: "casadi_simplify"
// call: "        double ret = casadi::simplify(x0_);"
extern "C"
double
    casadi_simplify__0(std::string ** err_msg, double* x0);
double
    casadi_simplify__0(std::string ** err_msg, double* x0){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);

        double ret = casadi::simplify(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;
    }
}


// ================== function "casadi::casadi_simplify" ===============
// cppName: "casadi::casadi_simplify"
// cWrapperName: "casadi_simplify__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_simplify__1(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_simplify"
// call: "        casadi::SX ret = simplify(x0_);"
extern "C"
casadi::SX*
    casadi_simplify__1(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_simplify__1(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = simplify(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;
    }
}


// ================== function "casadi::casadi_simplify" ===============
// cppName: "casadi::casadi_simplify"
// cWrapperName: "casadi_simplify__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_simplify__2(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_simplify"
// call: "        casadi::DM ret = simplify(x0_);"
extern "C"
casadi::DM*
    casadi_simplify__2(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_simplify__2(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = simplify(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;
    }
}


// ================== function "casadi::casadi_simplify" ===============
// cppName: "casadi::casadi_simplify"
// cWrapperName: "casadi_simplify__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_simplify__3(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_simplify"
// call: "        casadi::IM ret = simplify(x0_);"
extern "C"
casadi::IM*
    casadi_simplify__3(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_simplify__3(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = simplify(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;
    }
}


// ================== function "casadi::casadi_simplify" ===============
// cppName: "casadi::casadi_simplify"
// cWrapperName: "casadi_simplify__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_simplify__4(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_simplify"
// call: "        casadi::MX ret = simplify(x0_);"
extern "C"
casadi::MX*
    casadi_simplify__4(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_simplify__4(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = simplify(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;
    }
}


// ================== function "casadi::casadi_sin" ===============
// cppName: "casadi::casadi_sin"
// cWrapperName: "casadi_sin__0"
// protoArgs: "(std::string ** err_msg, double* x0)"
// params: [(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_sin__0(std::string ** err_msg, double* x0)"
// friendWrap: True
// fName: "casadi_sin"
// call: "        double ret = sin(x0_);"
extern "C"
double
    casadi_sin__0(std::string ** err_msg, double* x0);
double
    casadi_sin__0(std::string ** err_msg, double* x0){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);

        double ret = sin(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;
    }
}


// ================== function "casadi::casadi_sin" ===============
// cppName: "casadi::casadi_sin"
// cWrapperName: "casadi_sin__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_sin__1(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_sin"
// call: "        casadi::SX ret = sin(x0_);"
extern "C"
casadi::SX*
    casadi_sin__1(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_sin__1(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = sin(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;
    }
}


// ================== function "casadi::casadi_sin" ===============
// cppName: "casadi::casadi_sin"
// cWrapperName: "casadi_sin__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_sin__2(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_sin"
// call: "        casadi::DM ret = sin(x0_);"
extern "C"
casadi::DM*
    casadi_sin__2(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_sin__2(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = sin(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;
    }
}


// ================== function "casadi::casadi_sin" ===============
// cppName: "casadi::casadi_sin"
// cWrapperName: "casadi_sin__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_sin__3(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_sin"
// call: "        casadi::IM ret = sin(x0_);"
extern "C"
casadi::IM*
    casadi_sin__3(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_sin__3(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = sin(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;
    }
}


// ================== function "casadi::casadi_sin" ===============
// cppName: "casadi::casadi_sin"
// cWrapperName: "casadi_sin__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_sin__4(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_sin"
// call: "        casadi::MX ret = sin(x0_);"
extern "C"
casadi::MX*
    casadi_sin__4(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_sin__4(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = sin(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;
    }
}


// ================== function "casadi::casadi_sinh" ===============
// cppName: "casadi::casadi_sinh"
// cWrapperName: "casadi_sinh__0"
// protoArgs: "(std::string ** err_msg, double* x0)"
// params: [(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_sinh__0(std::string ** err_msg, double* x0)"
// friendWrap: True
// fName: "casadi_sinh"
// call: "        double ret = sinh(x0_);"
extern "C"
double
    casadi_sinh__0(std::string ** err_msg, double* x0);
double
    casadi_sinh__0(std::string ** err_msg, double* x0){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);

        double ret = sinh(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;
    }
}


// ================== function "casadi::casadi_sinh" ===============
// cppName: "casadi::casadi_sinh"
// cWrapperName: "casadi_sinh__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_sinh__1(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_sinh"
// call: "        casadi::SX ret = sinh(x0_);"
extern "C"
casadi::SX*
    casadi_sinh__1(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_sinh__1(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = sinh(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;
    }
}


// ================== function "casadi::casadi_sinh" ===============
// cppName: "casadi::casadi_sinh"
// cWrapperName: "casadi_sinh__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_sinh__2(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_sinh"
// call: "        casadi::DM ret = sinh(x0_);"
extern "C"
casadi::DM*
    casadi_sinh__2(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_sinh__2(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = sinh(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;
    }
}


// ================== function "casadi::casadi_sinh" ===============
// cppName: "casadi::casadi_sinh"
// cWrapperName: "casadi_sinh__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_sinh__3(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_sinh"
// call: "        casadi::IM ret = sinh(x0_);"
extern "C"
casadi::IM*
    casadi_sinh__3(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_sinh__3(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = sinh(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;
    }
}


// ================== function "casadi::casadi_sinh" ===============
// cppName: "casadi::casadi_sinh"
// cWrapperName: "casadi_sinh__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_sinh__4(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_sinh"
// call: "        casadi::MX ret = sinh(x0_);"
extern "C"
casadi::MX*
    casadi_sinh__4(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_sinh__4(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = sinh(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;
    }
}


// ================== function "casadi::casadi_skew" ===============
// cppName: "casadi::casadi_skew"
// cWrapperName: "casadi_skew__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_skew__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_skew"
// call: "        casadi::SX ret = skew(x0_);"
extern "C"
casadi::SX*
    casadi_skew__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_skew__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = skew(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;
    }
}


// ================== function "casadi::casadi_skew" ===============
// cppName: "casadi::casadi_skew"
// cWrapperName: "casadi_skew__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_skew__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_skew"
// call: "        casadi::DM ret = skew(x0_);"
extern "C"
casadi::DM*
    casadi_skew__1(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_skew__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = skew(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;
    }
}


// ================== function "casadi::casadi_skew" ===============
// cppName: "casadi::casadi_skew"
// cWrapperName: "casadi_skew__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_skew__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_skew"
// call: "        casadi::IM ret = skew(x0_);"
extern "C"
casadi::IM*
    casadi_skew__2(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_skew__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = skew(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;
    }
}


// ================== function "casadi::casadi_skew" ===============
// cppName: "casadi::casadi_skew"
// cWrapperName: "casadi_skew__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_skew__3(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_skew"
// call: "        casadi::MX ret = skew(x0_);"
extern "C"
casadi::MX*
    casadi_skew__3(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_skew__3(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = skew(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;
    }
}


// ================== function "casadi::casadi_soc" ===============
// cppName: "casadi::casadi_soc"
// cWrapperName: "casadi_soc__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_soc__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_soc"
// call: "        casadi::SX ret = soc(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_soc__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_soc__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = soc(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;
    }
}


// ================== function "casadi::casadi_soc" ===============
// cppName: "casadi::casadi_soc"
// cWrapperName: "casadi_soc__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_soc__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_soc"
// call: "        casadi::DM ret = soc(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_soc__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_soc__1(std::string ** err_msg, 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 = soc(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;
    }
}


// ================== function "casadi::casadi_soc" ===============
// cppName: "casadi::casadi_soc"
// cWrapperName: "casadi_soc__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_soc__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_soc"
// call: "        casadi::IM ret = soc(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_soc__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_soc__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = soc(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;
    }
}


// ================== function "casadi::casadi_soc" ===============
// cppName: "casadi::casadi_soc"
// cWrapperName: "casadi_soc__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_soc__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_soc"
// call: "        casadi::MX ret = soc(x0_, x1_);"
extern "C"
casadi::MX*
    casadi_soc__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi_soc__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = soc(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;
    }
}


// ================== function "casadi::casadi_solve" ===============
// cppName: "casadi::casadi_solve"
// cWrapperName: "casadi_solve__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::string* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_solve__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::string* x2)"
// friendWrap: True
// fName: "casadi_solve"
// call: "        casadi::SX ret = solve(x0_, x1_, x2_);"
extern "C"
casadi::SX*
    casadi_solve__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::string* x2);
casadi::SX*
    casadi_solve__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::string* x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);

        casadi::SX ret = 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::SX*, casadi::SX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_solve" ===============
// cppName: "casadi::casadi_solve"
// cWrapperName: "casadi_solve__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_solve__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
// friendWrap: True
// fName: "casadi_solve"
// call: "        casadi::SX ret = solve(x0_, x1_, x2_, x3_);"
extern "C"
casadi::SX*
    casadi_solve__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::SX*
    casadi_solve__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        std::string& x2_ = Marshaling<std::string&,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::SX ret = solve(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;
    }
}


// ================== function "casadi::casadi_solve" ===============
// cppName: "casadi::casadi_solve"
// cWrapperName: "casadi_solve__2"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_solve__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_solve"
// call: "        casadi::SX ret = solve(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_solve__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_solve__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = solve(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;
    }
}


// ================== function "casadi::casadi_solve" ===============
// cppName: "casadi::casadi_solve"
// cWrapperName: "casadi_solve__3"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::string* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_solve__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::string* x2)"
// friendWrap: True
// fName: "casadi_solve"
// call: "        casadi::DM ret = solve(x0_, x1_, x2_);"
extern "C"
casadi::DM*
    casadi_solve__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::string* x2);
casadi::DM*
    casadi_solve__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::string* x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);

        casadi::DM ret = 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;
    }
}


// ================== function "casadi::casadi_solve" ===============
// cppName: "casadi::casadi_solve"
// cWrapperName: "casadi_solve__4"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_solve__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
// friendWrap: True
// fName: "casadi_solve"
// call: "        casadi::DM ret = solve(x0_, x1_, x2_, x3_);"
extern "C"
casadi::DM*
    casadi_solve__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::DM*
    casadi_solve__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
        std::string& x2_ = Marshaling<std::string&,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::DM ret = solve(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;
    }
}


// ================== function "casadi::casadi_solve" ===============
// cppName: "casadi::casadi_solve"
// cWrapperName: "casadi_solve__5"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_solve__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_solve"
// call: "        casadi::DM ret = solve(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_solve__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_solve__5(std::string ** err_msg, 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 = 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;
    }
}


// ================== function "casadi::casadi_solve" ===============
// cppName: "casadi::casadi_solve"
// cWrapperName: "casadi_solve__6"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::string* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_solve__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::string* x2)"
// friendWrap: True
// fName: "casadi_solve"
// call: "        casadi::IM ret = solve(x0_, x1_, x2_);"
extern "C"
casadi::IM*
    casadi_solve__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::string* x2);
casadi::IM*
    casadi_solve__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::string* x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);

        casadi::IM ret = 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::IM*, casadi::IM >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_solve" ===============
// cppName: "casadi::casadi_solve"
// cWrapperName: "casadi_solve__7"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_solve__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
// friendWrap: True
// fName: "casadi_solve"
// call: "        casadi::IM ret = solve(x0_, x1_, x2_, x3_);"
extern "C"
casadi::IM*
    casadi_solve__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::IM*
    casadi_solve__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
        std::string& x2_ = Marshaling<std::string&,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::IM ret = solve(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;
    }
}


// ================== function "casadi::casadi_solve" ===============
// cppName: "casadi::casadi_solve"
// cWrapperName: "casadi_solve__8"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_solve__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_solve"
// call: "        casadi::IM ret = solve(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_solve__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_solve__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = solve(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;
    }
}


// ================== function "casadi::casadi_solve" ===============
// cppName: "casadi::casadi_solve"
// cWrapperName: "casadi_solve__9"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_solve__9(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2)"
// friendWrap: True
// fName: "casadi_solve"
// call: "        casadi::MX ret = solve(x0_, x1_, x2_);"
extern "C"
casadi::MX*
    casadi_solve__9(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2);
casadi::MX*
    casadi_solve__9(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);

        casadi::MX ret = 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;
    }
}


// ================== function "casadi::casadi_solve" ===============
// cppName: "casadi::casadi_solve"
// cWrapperName: "casadi_solve__10"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_solve__10(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
// friendWrap: True
// fName: "casadi_solve"
// call: "        casadi::MX ret = solve(x0_, x1_, x2_, x3_);"
extern "C"
casadi::MX*
    casadi_solve__10(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::MX*
    casadi_solve__10(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        casadi::MX ret = solve(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::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::casadi_solve" ===============
// cppName: "casadi::casadi_solve"
// cWrapperName: "casadi_solve__11"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_solve__11(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_solve"
// call: "        casadi::MX ret = solve(x0_, x1_);"
extern "C"
casadi::MX*
    casadi_solve__11(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi_solve__11(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = 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;
    }
}


// ================== function "casadi::casadi_sparsify" ===============
// cppName: "casadi::casadi_sparsify"
// cWrapperName: "casadi_sparsify__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_sparsify__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_sparsify"
// call: "        casadi::SX ret = sparsify(x0_);"
extern "C"
casadi::SX*
    casadi_sparsify__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_sparsify__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = sparsify(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;
    }
}


// ================== function "casadi::casadi_sparsify" ===============
// cppName: "casadi::casadi_sparsify"
// cWrapperName: "casadi_sparsify__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, double x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CDouble,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_sparsify__1(std::string ** err_msg, casadi::SX* x0, double x1)"
// friendWrap: True
// fName: "casadi_sparsify"
// call: "        casadi::SX ret = sparsify(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_sparsify__1(std::string ** err_msg, casadi::SX* x0, double x1);
casadi::SX*
    casadi_sparsify__1(std::string ** err_msg, casadi::SX* x0, double x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        double x1_ = Marshaling<double,double>::marshal(x1);

        casadi::SX ret = sparsify(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;
    }
}


// ================== function "casadi::casadi_sparsify" ===============
// cppName: "casadi::casadi_sparsify"
// cWrapperName: "casadi_sparsify__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_sparsify__2(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_sparsify"
// call: "        casadi::DM ret = sparsify(x0_);"
extern "C"
casadi::DM*
    casadi_sparsify__2(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_sparsify__2(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = sparsify(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;
    }
}


// ================== function "casadi::casadi_sparsify" ===============
// cppName: "casadi::casadi_sparsify"
// cWrapperName: "casadi_sparsify__3"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, double x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CDouble,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_sparsify__3(std::string ** err_msg, casadi::DM* x0, double x1)"
// friendWrap: True
// fName: "casadi_sparsify"
// call: "        casadi::DM ret = sparsify(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_sparsify__3(std::string ** err_msg, casadi::DM* x0, double x1);
casadi::DM*
    casadi_sparsify__3(std::string ** err_msg, casadi::DM* x0, double x1){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        double x1_ = Marshaling<double,double>::marshal(x1);

        casadi::DM ret = sparsify(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;
    }
}


// ================== function "casadi::casadi_sparsify" ===============
// cppName: "casadi::casadi_sparsify"
// cWrapperName: "casadi_sparsify__4"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_sparsify__4(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_sparsify"
// call: "        casadi::IM ret = sparsify(x0_);"
extern "C"
casadi::IM*
    casadi_sparsify__4(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_sparsify__4(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = sparsify(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;
    }
}


// ================== function "casadi::casadi_sparsify" ===============
// cppName: "casadi::casadi_sparsify"
// cWrapperName: "casadi_sparsify__5"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, double x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CDouble,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_sparsify__5(std::string ** err_msg, casadi::IM* x0, double x1)"
// friendWrap: True
// fName: "casadi_sparsify"
// call: "        casadi::IM ret = sparsify(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_sparsify__5(std::string ** err_msg, casadi::IM* x0, double x1);
casadi::IM*
    casadi_sparsify__5(std::string ** err_msg, casadi::IM* x0, double x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        double x1_ = Marshaling<double,double>::marshal(x1);

        casadi::IM ret = sparsify(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;
    }
}


// ================== function "casadi::casadi_sprank" ===============
// cppName: "casadi::casadi_sprank"
// cWrapperName: "casadi_sprank__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: CLongLong
// args: "(x0_)"
// cWrapperRetType: "long long"
// proto: "long long\n    casadi_sprank__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_sprank"
// call: "        long long ret = sprank(x0_);"
extern "C"
long long
    casadi_sprank__0(std::string ** err_msg, casadi::SX* x0);
long long
    casadi_sprank__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        long long ret = sprank(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;
    }
}


// ================== function "casadi::casadi_sprank" ===============
// cppName: "casadi::casadi_sprank"
// cWrapperName: "casadi_sprank__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: CLongLong
// args: "(x0_)"
// cWrapperRetType: "long long"
// proto: "long long\n    casadi_sprank__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_sprank"
// call: "        long long ret = sprank(x0_);"
extern "C"
long long
    casadi_sprank__1(std::string ** err_msg, casadi::DM* x0);
long long
    casadi_sprank__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        long long ret = sprank(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;
    }
}


// ================== function "casadi::casadi_sprank" ===============
// cppName: "casadi::casadi_sprank"
// cWrapperName: "casadi_sprank__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: CLongLong
// args: "(x0_)"
// cWrapperRetType: "long long"
// proto: "long long\n    casadi_sprank__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_sprank"
// call: "        long long ret = sprank(x0_);"
extern "C"
long long
    casadi_sprank__2(std::string ** err_msg, casadi::IM* x0);
long long
    casadi_sprank__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        long long ret = sprank(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;
    }
}


// ================== function "casadi::casadi_sprank" ===============
// cppName: "casadi::casadi_sprank"
// cWrapperName: "casadi_sprank__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: CLongLong
// args: "(x0_)"
// cWrapperRetType: "long long"
// proto: "long long\n    casadi_sprank__3(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_sprank"
// call: "        long long ret = sprank(x0_);"
extern "C"
long long
    casadi_sprank__3(std::string ** err_msg, casadi::MX* x0);
long long
    casadi_sprank__3(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        long long ret = sprank(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;
    }
}


// ================== function "casadi::casadi_sprank" ===============
// cppName: "casadi::casadi_sprank"
// cWrapperName: "casadi_sprank__4"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
// retType: CLongLong
// args: "(x0_)"
// cWrapperRetType: "long long"
// proto: "long long\n    casadi_sprank__4(std::string ** err_msg, casadi::Sparsity* x0)"
// friendWrap: True
// fName: "casadi_sprank"
// call: "        long long ret = sprank(x0_);"
extern "C"
long long
    casadi_sprank__4(std::string ** err_msg, casadi::Sparsity* x0);
long long
    casadi_sprank__4(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        long long ret = sprank(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;
    }
}


// ================== function "casadi::casadi_sqrt" ===============
// cppName: "casadi::casadi_sqrt"
// cWrapperName: "casadi_sqrt__0"
// protoArgs: "(std::string ** err_msg, double* x0)"
// params: [(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_sqrt__0(std::string ** err_msg, double* x0)"
// friendWrap: True
// fName: "casadi_sqrt"
// call: "        double ret = sqrt(x0_);"
extern "C"
double
    casadi_sqrt__0(std::string ** err_msg, double* x0);
double
    casadi_sqrt__0(std::string ** err_msg, double* x0){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);

        double ret = sqrt(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;
    }
}


// ================== function "casadi::casadi_sqrt" ===============
// cppName: "casadi::casadi_sqrt"
// cWrapperName: "casadi_sqrt__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_sqrt__1(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_sqrt"
// call: "        casadi::SX ret = sqrt(x0_);"
extern "C"
casadi::SX*
    casadi_sqrt__1(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_sqrt__1(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = sqrt(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;
    }
}


// ================== function "casadi::casadi_sqrt" ===============
// cppName: "casadi::casadi_sqrt"
// cWrapperName: "casadi_sqrt__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_sqrt__2(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_sqrt"
// call: "        casadi::DM ret = sqrt(x0_);"
extern "C"
casadi::DM*
    casadi_sqrt__2(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_sqrt__2(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = sqrt(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;
    }
}


// ================== function "casadi::casadi_sqrt" ===============
// cppName: "casadi::casadi_sqrt"
// cWrapperName: "casadi_sqrt__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_sqrt__3(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_sqrt"
// call: "        casadi::IM ret = sqrt(x0_);"
extern "C"
casadi::IM*
    casadi_sqrt__3(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_sqrt__3(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = sqrt(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;
    }
}


// ================== function "casadi::casadi_sqrt" ===============
// cppName: "casadi::casadi_sqrt"
// cWrapperName: "casadi_sqrt__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_sqrt__4(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_sqrt"
// call: "        casadi::MX ret = sqrt(x0_);"
extern "C"
casadi::MX*
    casadi_sqrt__4(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_sqrt__4(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = sqrt(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;
    }
}


// ================== function "casadi::casadi_substitute" ===============
// cppName: "casadi::casadi_substitute"
// cWrapperName: "casadi_substitute__0"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< casadi::SX* >*"
// proto: "std::vector< casadi::SX* >*\n    casadi_substitute__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2)"
// friendWrap: True
// fName: "casadi_substitute"
// call: "        std::vector< casadi::SX > ret = substitute(x0_, x1_, x2_);"
extern "C"
std::vector< casadi::SX* >*
    casadi_substitute__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2);
std::vector< casadi::SX* >*
    casadi_substitute__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2){
    try {
        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
        std::vector< casadi::SX > x2_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x2);

        std::vector< casadi::SX > ret = substitute(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;
    }
}


// ================== function "casadi::casadi_substitute" ===============
// cppName: "casadi::casadi_substitute"
// cWrapperName: "casadi_substitute__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_substitute__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
// friendWrap: True
// fName: "casadi_substitute"
// call: "        casadi::SX ret = substitute(x0_, x1_, x2_);"
extern "C"
casadi::SX*
    casadi_substitute__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
casadi::SX*
    casadi_substitute__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);

        casadi::SX ret = substitute(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;
    }
}


// ================== function "casadi::casadi_substitute" ===============
// cppName: "casadi::casadi_substitute"
// cWrapperName: "casadi_substitute__2"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< casadi::DM* >*"
// proto: "std::vector< casadi::DM* >*\n    casadi_substitute__2(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2)"
// friendWrap: True
// fName: "casadi_substitute"
// call: "        std::vector< casadi::DM > ret = substitute(x0_, x1_, x2_);"
extern "C"
std::vector< casadi::DM* >*
    casadi_substitute__2(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2);
std::vector< casadi::DM* >*
    casadi_substitute__2(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2){
    try {
        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
        std::vector< casadi::DM > x2_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x2);

        std::vector< casadi::DM > ret = substitute(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;
    }
}


// ================== function "casadi::casadi_substitute" ===============
// cppName: "casadi::casadi_substitute"
// cWrapperName: "casadi_substitute__3"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_substitute__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
// friendWrap: True
// fName: "casadi_substitute"
// call: "        casadi::DM ret = substitute(x0_, x1_, x2_);"
extern "C"
casadi::DM*
    casadi_substitute__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
casadi::DM*
    casadi_substitute__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::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 = substitute(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;
    }
}


// ================== function "casadi::casadi_substitute" ===============
// cppName: "casadi::casadi_substitute"
// cWrapperName: "casadi_substitute__4"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< casadi::IM* >*"
// proto: "std::vector< casadi::IM* >*\n    casadi_substitute__4(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2)"
// friendWrap: True
// fName: "casadi_substitute"
// call: "        std::vector< casadi::IM > ret = substitute(x0_, x1_, x2_);"
extern "C"
std::vector< casadi::IM* >*
    casadi_substitute__4(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2);
std::vector< casadi::IM* >*
    casadi_substitute__4(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2){
    try {
        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
        std::vector< casadi::IM > x1_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x1);
        std::vector< casadi::IM > x2_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x2);

        std::vector< casadi::IM > ret = substitute(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;
    }
}


// ================== function "casadi::casadi_substitute" ===============
// cppName: "casadi::casadi_substitute"
// cWrapperName: "casadi_substitute__5"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_substitute__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
// friendWrap: True
// fName: "casadi_substitute"
// call: "        casadi::IM ret = substitute(x0_, x1_, x2_);"
extern "C"
casadi::IM*
    casadi_substitute__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
casadi::IM*
    casadi_substitute__5(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::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 = substitute(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;
    }
}


// ================== function "casadi::casadi_substitute" ===============
// cppName: "casadi::casadi_substitute"
// cWrapperName: "casadi_substitute__6"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi_substitute__6(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
// friendWrap: True
// fName: "casadi_substitute"
// call: "        std::vector< casadi::MX > ret = substitute(x0_, x1_, x2_);"
extern "C"
std::vector< casadi::MX* >*
    casadi_substitute__6(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2);
std::vector< casadi::MX* >*
    casadi_substitute__6(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);

        std::vector< casadi::MX > ret = substitute(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;
    }
}


// ================== function "casadi::casadi_substitute" ===============
// cppName: "casadi::casadi_substitute"
// cWrapperName: "casadi_substitute__7"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* 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)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_substitute__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2)"
// friendWrap: True
// fName: "casadi_substitute"
// call: "        casadi::MX ret = substitute(x0_, x1_, x2_);"
extern "C"
casadi::MX*
    casadi_substitute__7(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, casadi::MX* x2);
casadi::MX*
    casadi_substitute__7(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 = substitute(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;
    }
}


// ================== function "casadi::casadi_substitute_inplace" ===============
// cppName: "casadi::casadi_substitute_inplace"
// cWrapperName: "casadi_substitute_inplace__0"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_substitute_inplace__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2)"
// friendWrap: True
// fName: "casadi_substitute_inplace"
// call: "        substitute_inplace(x0_, x1_, x2_);"
extern "C"
void
    casadi_substitute_inplace__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2);
void
    casadi_substitute_inplace__0(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2){
    try {
        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
        std::vector< casadi::SX > x2_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x2);

        substitute_inplace(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;
    }
}


// ================== function "casadi::casadi_substitute_inplace" ===============
// cppName: "casadi::casadi_substitute_inplace"
// cWrapperName: "casadi_substitute_inplace__1"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, int x3)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_substitute_inplace__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, int x3)"
// friendWrap: True
// fName: "casadi_substitute_inplace"
// call: "        substitute_inplace(x0_, x1_, x2_, x3_);"
extern "C"
void
    casadi_substitute_inplace__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, int x3);
void
    casadi_substitute_inplace__1(std::string ** err_msg, std::vector< casadi::SX* >* x0, std::vector< casadi::SX* >* x1, std::vector< casadi::SX* >* x2, int x3){
    try {
        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);
        std::vector< casadi::SX > x1_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x1);
        std::vector< casadi::SX > x2_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        substitute_inplace(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;
    }
}


// ================== function "casadi::casadi_substitute_inplace" ===============
// cppName: "casadi::casadi_substitute_inplace"
// cWrapperName: "casadi_substitute_inplace__2"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_substitute_inplace__2(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2)"
// friendWrap: True
// fName: "casadi_substitute_inplace"
// call: "        substitute_inplace(x0_, x1_, x2_);"
extern "C"
void
    casadi_substitute_inplace__2(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2);
void
    casadi_substitute_inplace__2(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2){
    try {
        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
        std::vector< casadi::DM > x2_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x2);

        substitute_inplace(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;
    }
}


// ================== function "casadi::casadi_substitute_inplace" ===============
// cppName: "casadi::casadi_substitute_inplace"
// cWrapperName: "casadi_substitute_inplace__3"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, int x3)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_substitute_inplace__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, int x3)"
// friendWrap: True
// fName: "casadi_substitute_inplace"
// call: "        substitute_inplace(x0_, x1_, x2_, x3_);"
extern "C"
void
    casadi_substitute_inplace__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* x2, int x3);
void
    casadi_substitute_inplace__3(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::vector< casadi::DM* >* 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_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
        std::vector< casadi::DM > x2_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        substitute_inplace(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;
    }
}


// ================== function "casadi::casadi_substitute_inplace" ===============
// cppName: "casadi::casadi_substitute_inplace"
// cWrapperName: "casadi_substitute_inplace__4"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_substitute_inplace__4(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2)"
// friendWrap: True
// fName: "casadi_substitute_inplace"
// call: "        substitute_inplace(x0_, x1_, x2_);"
extern "C"
void
    casadi_substitute_inplace__4(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2);
void
    casadi_substitute_inplace__4(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2){
    try {
        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
        std::vector< casadi::IM > x1_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x1);
        std::vector< casadi::IM > x2_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x2);

        substitute_inplace(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;
    }
}


// ================== function "casadi::casadi_substitute_inplace" ===============
// cppName: "casadi::casadi_substitute_inplace"
// cWrapperName: "casadi_substitute_inplace__5"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, int x3)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_substitute_inplace__5(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, int x3)"
// friendWrap: True
// fName: "casadi_substitute_inplace"
// call: "        substitute_inplace(x0_, x1_, x2_, x3_);"
extern "C"
void
    casadi_substitute_inplace__5(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, int x3);
void
    casadi_substitute_inplace__5(std::string ** err_msg, std::vector< casadi::IM* >* x0, std::vector< casadi::IM* >* x1, std::vector< casadi::IM* >* x2, int x3){
    try {
        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);
        std::vector< casadi::IM > x1_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x1);
        std::vector< casadi::IM > x2_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        substitute_inplace(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;
    }
}


// ================== function "casadi::casadi_substitute_inplace" ===============
// cppName: "casadi::casadi_substitute_inplace"
// cWrapperName: "casadi_substitute_inplace__6"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_substitute_inplace__6(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2)"
// friendWrap: True
// fName: "casadi_substitute_inplace"
// call: "        substitute_inplace(x0_, x1_, x2_);"
extern "C"
void
    casadi_substitute_inplace__6(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2);
void
    casadi_substitute_inplace__6(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);

        substitute_inplace(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;
    }
}


// ================== function "casadi::casadi_substitute_inplace" ===============
// cppName: "casadi::casadi_substitute_inplace"
// cWrapperName: "casadi_substitute_inplace__7"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, int x3)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "void"
// proto: "void\n    casadi_substitute_inplace__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, int x3)"
// friendWrap: True
// fName: "casadi_substitute_inplace"
// call: "        substitute_inplace(x0_, x1_, x2_, x3_);"
extern "C"
void
    casadi_substitute_inplace__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, int x3);
void
    casadi_substitute_inplace__7(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::vector< casadi::MX* >* x2, int x3){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
        std::vector< casadi::MX > x2_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x2);
        bool x3_ = Marshaling<bool,int>::marshal(x3);

        substitute_inplace(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;
    }
}


// ================== function "casadi::casadi_sum1" ===============
// cppName: "casadi::casadi_sum1"
// cWrapperName: "casadi_sum1__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_sum1__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_sum1"
// call: "        casadi::SX ret = sum1(x0_);"
extern "C"
casadi::SX*
    casadi_sum1__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_sum1__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = sum1(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;
    }
}


// ================== function "casadi::casadi_sum1" ===============
// cppName: "casadi::casadi_sum1"
// cWrapperName: "casadi_sum1__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_sum1__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_sum1"
// call: "        casadi::DM ret = sum1(x0_);"
extern "C"
casadi::DM*
    casadi_sum1__1(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_sum1__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = sum1(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;
    }
}


// ================== function "casadi::casadi_sum1" ===============
// cppName: "casadi::casadi_sum1"
// cWrapperName: "casadi_sum1__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_sum1__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_sum1"
// call: "        casadi::IM ret = sum1(x0_);"
extern "C"
casadi::IM*
    casadi_sum1__2(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_sum1__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = sum1(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;
    }
}


// ================== function "casadi::casadi_sum1" ===============
// cppName: "casadi::casadi_sum1"
// cWrapperName: "casadi_sum1__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_sum1__3(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_sum1"
// call: "        casadi::MX ret = sum1(x0_);"
extern "C"
casadi::MX*
    casadi_sum1__3(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_sum1__3(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = sum1(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;
    }
}


// ================== function "casadi::casadi_sum1" ===============
// cppName: "casadi::casadi_sum1"
// cWrapperName: "casadi_sum1__4"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
// args: "(x0_)"
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi_sum1__4(std::string ** err_msg, casadi::Sparsity* x0)"
// friendWrap: True
// fName: "casadi_sum1"
// call: "        casadi::Sparsity ret = sum1(x0_);"
extern "C"
casadi::Sparsity*
    casadi_sum1__4(std::string ** err_msg, casadi::Sparsity* x0);
casadi::Sparsity*
    casadi_sum1__4(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::Sparsity ret = sum1(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;
    }
}


// ================== function "casadi::casadi_sum2" ===============
// cppName: "casadi::casadi_sum2"
// cWrapperName: "casadi_sum2__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_sum2__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_sum2"
// call: "        casadi::SX ret = sum2(x0_);"
extern "C"
casadi::SX*
    casadi_sum2__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_sum2__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = sum2(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;
    }
}


// ================== function "casadi::casadi_sum2" ===============
// cppName: "casadi::casadi_sum2"
// cWrapperName: "casadi_sum2__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_sum2__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_sum2"
// call: "        casadi::DM ret = sum2(x0_);"
extern "C"
casadi::DM*
    casadi_sum2__1(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_sum2__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = sum2(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;
    }
}


// ================== function "casadi::casadi_sum2" ===============
// cppName: "casadi::casadi_sum2"
// cWrapperName: "casadi_sum2__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_sum2__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_sum2"
// call: "        casadi::IM ret = sum2(x0_);"
extern "C"
casadi::IM*
    casadi_sum2__2(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_sum2__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = sum2(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;
    }
}


// ================== function "casadi::casadi_sum2" ===============
// cppName: "casadi::casadi_sum2"
// cWrapperName: "casadi_sum2__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_sum2__3(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_sum2"
// call: "        casadi::MX ret = sum2(x0_);"
extern "C"
casadi::MX*
    casadi_sum2__3(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_sum2__3(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = sum2(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;
    }
}


// ================== function "casadi::casadi_sum2" ===============
// cppName: "casadi::casadi_sum2"
// cWrapperName: "casadi_sum2__4"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
// args: "(x0_)"
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi_sum2__4(std::string ** err_msg, casadi::Sparsity* x0)"
// friendWrap: True
// fName: "casadi_sum2"
// call: "        casadi::Sparsity ret = sum2(x0_);"
extern "C"
casadi::Sparsity*
    casadi_sum2__4(std::string ** err_msg, casadi::Sparsity* x0);
casadi::Sparsity*
    casadi_sum2__4(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::Sparsity ret = sum2(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;
    }
}


// ================== function "casadi::casadi_sumsqr" ===============
// cppName: "casadi::casadi_sumsqr"
// cWrapperName: "casadi_sumsqr__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_sumsqr__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_sumsqr"
// call: "        casadi::SX ret = sumsqr(x0_);"
extern "C"
casadi::SX*
    casadi_sumsqr__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_sumsqr__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = sumsqr(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;
    }
}


// ================== function "casadi::casadi_sumsqr" ===============
// cppName: "casadi::casadi_sumsqr"
// cWrapperName: "casadi_sumsqr__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_sumsqr__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_sumsqr"
// call: "        casadi::DM ret = sumsqr(x0_);"
extern "C"
casadi::DM*
    casadi_sumsqr__1(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_sumsqr__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = sumsqr(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;
    }
}


// ================== function "casadi::casadi_sumsqr" ===============
// cppName: "casadi::casadi_sumsqr"
// cWrapperName: "casadi_sumsqr__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_sumsqr__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_sumsqr"
// call: "        casadi::IM ret = sumsqr(x0_);"
extern "C"
casadi::IM*
    casadi_sumsqr__2(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_sumsqr__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = sumsqr(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;
    }
}


// ================== function "casadi::casadi_sumsqr" ===============
// cppName: "casadi::casadi_sumsqr"
// cWrapperName: "casadi_sumsqr__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_sumsqr__3(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_sumsqr"
// call: "        casadi::MX ret = sumsqr(x0_);"
extern "C"
casadi::MX*
    casadi_sumsqr__3(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_sumsqr__3(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = sumsqr(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;
    }
}


// ================== function "casadi::casadi_symvar" ===============
// cppName: "casadi::casadi_symvar"
// cWrapperName: "casadi_symvar__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
// args: "(x0_)"
// cWrapperRetType: "std::vector< casadi::SX* >*"
// proto: "std::vector< casadi::SX* >*\n    casadi_symvar__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_symvar"
// call: "        std::vector< casadi::SX > ret = symvar(x0_);"
extern "C"
std::vector< casadi::SX* >*
    casadi_symvar__0(std::string ** err_msg, casadi::SX* x0);
std::vector< casadi::SX* >*
    casadi_symvar__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        std::vector< casadi::SX > ret = symvar(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;
    }
}


// ================== function "casadi::casadi_symvar" ===============
// cppName: "casadi::casadi_symvar"
// cWrapperName: "casadi_symvar__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
// args: "(x0_)"
// cWrapperRetType: "std::vector< casadi::DM* >*"
// proto: "std::vector< casadi::DM* >*\n    casadi_symvar__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_symvar"
// call: "        std::vector< casadi::DM > ret = symvar(x0_);"
extern "C"
std::vector< casadi::DM* >*
    casadi_symvar__1(std::string ** err_msg, casadi::DM* x0);
std::vector< casadi::DM* >*
    casadi_symvar__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        std::vector< casadi::DM > ret = symvar(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;
    }
}


// ================== function "casadi::casadi_symvar" ===============
// cppName: "casadi::casadi_symvar"
// cWrapperName: "casadi_symvar__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
// args: "(x0_)"
// cWrapperRetType: "std::vector< casadi::IM* >*"
// proto: "std::vector< casadi::IM* >*\n    casadi_symvar__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_symvar"
// call: "        std::vector< casadi::IM > ret = symvar(x0_);"
extern "C"
std::vector< casadi::IM* >*
    casadi_symvar__2(std::string ** err_msg, casadi::IM* x0);
std::vector< casadi::IM* >*
    casadi_symvar__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        std::vector< casadi::IM > ret = symvar(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;
    }
}


// ================== function "casadi::casadi_symvar" ===============
// cppName: "casadi::casadi_symvar"
// cWrapperName: "casadi_symvar__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// args: "(x0_)"
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi_symvar__3(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_symvar"
// call: "        std::vector< casadi::MX > ret = symvar(x0_);"
extern "C"
std::vector< casadi::MX* >*
    casadi_symvar__3(std::string ** err_msg, casadi::MX* x0);
std::vector< casadi::MX* >*
    casadi_symvar__3(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        std::vector< casadi::MX > ret = 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;
    }
}


// ================== function "casadi::casadi_tan" ===============
// cppName: "casadi::casadi_tan"
// cWrapperName: "casadi_tan__0"
// protoArgs: "(std::string ** err_msg, double* x0)"
// params: [(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_tan__0(std::string ** err_msg, double* x0)"
// friendWrap: True
// fName: "casadi_tan"
// call: "        double ret = tan(x0_);"
extern "C"
double
    casadi_tan__0(std::string ** err_msg, double* x0);
double
    casadi_tan__0(std::string ** err_msg, double* x0){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);

        double ret = tan(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;
    }
}


// ================== function "casadi::casadi_tan" ===============
// cppName: "casadi::casadi_tan"
// cWrapperName: "casadi_tan__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_tan__1(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_tan"
// call: "        casadi::SX ret = tan(x0_);"
extern "C"
casadi::SX*
    casadi_tan__1(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_tan__1(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = tan(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;
    }
}


// ================== function "casadi::casadi_tan" ===============
// cppName: "casadi::casadi_tan"
// cWrapperName: "casadi_tan__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_tan__2(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_tan"
// call: "        casadi::DM ret = tan(x0_);"
extern "C"
casadi::DM*
    casadi_tan__2(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_tan__2(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = tan(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;
    }
}


// ================== function "casadi::casadi_tan" ===============
// cppName: "casadi::casadi_tan"
// cWrapperName: "casadi_tan__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_tan__3(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_tan"
// call: "        casadi::IM ret = tan(x0_);"
extern "C"
casadi::IM*
    casadi_tan__3(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_tan__3(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = tan(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;
    }
}


// ================== function "casadi::casadi_tan" ===============
// cppName: "casadi::casadi_tan"
// cWrapperName: "casadi_tan__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_tan__4(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_tan"
// call: "        casadi::MX ret = tan(x0_);"
extern "C"
casadi::MX*
    casadi_tan__4(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_tan__4(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = tan(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;
    }
}


// ================== function "casadi::casadi_tangent" ===============
// cppName: "casadi::casadi_tangent"
// cWrapperName: "casadi_tangent__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_tangent__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_tangent"
// call: "        casadi::SX ret = tangent(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_tangent__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_tangent__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = tangent(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;
    }
}


// ================== function "casadi::casadi_tangent" ===============
// cppName: "casadi::casadi_tangent"
// cWrapperName: "casadi_tangent__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_tangent__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_tangent"
// call: "        casadi::DM ret = tangent(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_tangent__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_tangent__1(std::string ** err_msg, 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 = tangent(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;
    }
}


// ================== function "casadi::casadi_tangent" ===============
// cppName: "casadi::casadi_tangent"
// cWrapperName: "casadi_tangent__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_tangent__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_tangent"
// call: "        casadi::IM ret = tangent(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_tangent__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_tangent__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = tangent(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;
    }
}


// ================== function "casadi::casadi_tangent" ===============
// cppName: "casadi::casadi_tangent"
// cWrapperName: "casadi_tangent__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_tangent__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_tangent"
// call: "        casadi::MX ret = tangent(x0_, x1_);"
extern "C"
casadi::MX*
    casadi_tangent__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi_tangent__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = tangent(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;
    }
}


// ================== function "casadi::casadi_tanh" ===============
// cppName: "casadi::casadi_tanh"
// cWrapperName: "casadi_tanh__0"
// protoArgs: "(std::string ** err_msg, double* x0)"
// params: [(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_tanh__0(std::string ** err_msg, double* x0)"
// friendWrap: True
// fName: "casadi_tanh"
// call: "        double ret = tanh(x0_);"
extern "C"
double
    casadi_tanh__0(std::string ** err_msg, double* x0);
double
    casadi_tanh__0(std::string ** err_msg, double* x0){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);

        double ret = tanh(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;
    }
}


// ================== function "casadi::casadi_tanh" ===============
// cppName: "casadi::casadi_tanh"
// cWrapperName: "casadi_tanh__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_tanh__1(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_tanh"
// call: "        casadi::SX ret = tanh(x0_);"
extern "C"
casadi::SX*
    casadi_tanh__1(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_tanh__1(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = tanh(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;
    }
}


// ================== function "casadi::casadi_tanh" ===============
// cppName: "casadi::casadi_tanh"
// cWrapperName: "casadi_tanh__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_tanh__2(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_tanh"
// call: "        casadi::DM ret = tanh(x0_);"
extern "C"
casadi::DM*
    casadi_tanh__2(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_tanh__2(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = tanh(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;
    }
}


// ================== function "casadi::casadi_tanh" ===============
// cppName: "casadi::casadi_tanh"
// cWrapperName: "casadi_tanh__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_tanh__3(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_tanh"
// call: "        casadi::IM ret = tanh(x0_);"
extern "C"
casadi::IM*
    casadi_tanh__3(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_tanh__3(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = tanh(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;
    }
}


// ================== function "casadi::casadi_tanh" ===============
// cppName: "casadi::casadi_tanh"
// cWrapperName: "casadi_tanh__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_tanh__4(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_tanh"
// call: "        casadi::MX ret = tanh(x0_);"
extern "C"
casadi::MX*
    casadi_tanh__4(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_tanh__4(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = tanh(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;
    }
}


// ================== function "casadi::casadi_taylor" ===============
// cppName: "casadi::casadi_taylor"
// cWrapperName: "casadi_taylor__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_taylor__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_taylor"
// call: "        casadi::SX ret = taylor(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_taylor__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_taylor__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = taylor(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;
    }
}


// ================== function "casadi::casadi_taylor" ===============
// cppName: "casadi::casadi_taylor"
// cWrapperName: "casadi_taylor__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_taylor__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2)"
// friendWrap: True
// fName: "casadi_taylor"
// call: "        casadi::SX ret = taylor(x0_, x1_, x2_);"
extern "C"
casadi::SX*
    casadi_taylor__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2);
casadi::SX*
    casadi_taylor__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);

        casadi::SX ret = taylor(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;
    }
}


// ================== function "casadi::casadi_taylor" ===============
// cppName: "casadi::casadi_taylor"
// cWrapperName: "casadi_taylor__2"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, long long x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_taylor__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, long long x3)"
// friendWrap: True
// fName: "casadi_taylor"
// call: "        casadi::SX ret = taylor(x0_, x1_, x2_, x3_);"
extern "C"
casadi::SX*
    casadi_taylor__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, long long x3);
casadi::SX*
    casadi_taylor__2(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1, casadi::SX* x2, long long x3){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);
        casadi::SX& x2_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x2);
        long long x3_ = Marshaling<long long,long long>::marshal(x3);

        casadi::SX ret = taylor(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;
    }
}


// ================== function "casadi::casadi_taylor" ===============
// cppName: "casadi::casadi_taylor"
// cWrapperName: "casadi_taylor__3"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_taylor__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_taylor"
// call: "        casadi::DM ret = taylor(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_taylor__3(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_taylor__3(std::string ** err_msg, 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 = taylor(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;
    }
}


// ================== function "casadi::casadi_taylor" ===============
// cppName: "casadi::casadi_taylor"
// cWrapperName: "casadi_taylor__4"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_taylor__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2)"
// friendWrap: True
// fName: "casadi_taylor"
// call: "        casadi::DM ret = taylor(x0_, x1_, x2_);"
extern "C"
casadi::DM*
    casadi_taylor__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2);
casadi::DM*
    casadi_taylor__4(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::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 = taylor(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;
    }
}


// ================== function "casadi::casadi_taylor" ===============
// cppName: "casadi::casadi_taylor"
// cWrapperName: "casadi_taylor__5"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, long long x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_taylor__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, long long x3)"
// friendWrap: True
// fName: "casadi_taylor"
// call: "        casadi::DM ret = taylor(x0_, x1_, x2_, x3_);"
extern "C"
casadi::DM*
    casadi_taylor__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, long long x3);
casadi::DM*
    casadi_taylor__5(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1, casadi::DM* x2, long long x3){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        casadi::DM& x1_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x1);
        casadi::DM& x2_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x2);
        long long x3_ = Marshaling<long long,long long>::marshal(x3);

        casadi::DM ret = taylor(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;
    }
}


// ================== function "casadi::casadi_taylor" ===============
// cppName: "casadi::casadi_taylor"
// cWrapperName: "casadi_taylor__6"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_taylor__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_taylor"
// call: "        casadi::IM ret = taylor(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_taylor__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_taylor__6(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = taylor(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;
    }
}


// ================== function "casadi::casadi_taylor" ===============
// cppName: "casadi::casadi_taylor"
// cWrapperName: "casadi_taylor__7"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_taylor__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2)"
// friendWrap: True
// fName: "casadi_taylor"
// call: "        casadi::IM ret = taylor(x0_, x1_, x2_);"
extern "C"
casadi::IM*
    casadi_taylor__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2);
casadi::IM*
    casadi_taylor__7(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::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 = taylor(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;
    }
}


// ================== function "casadi::casadi_taylor" ===============
// cppName: "casadi::casadi_taylor"
// cWrapperName: "casadi_taylor__8"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, long long x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_taylor__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, long long x3)"
// friendWrap: True
// fName: "casadi_taylor"
// call: "        casadi::IM ret = taylor(x0_, x1_, x2_, x3_);"
extern "C"
casadi::IM*
    casadi_taylor__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, long long x3);
casadi::IM*
    casadi_taylor__8(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1, casadi::IM* x2, long long x3){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);
        casadi::IM& x2_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x2);
        long long x3_ = Marshaling<long long,long long>::marshal(x3);

        casadi::IM ret = taylor(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;
    }
}


// ================== function "casadi::casadi_times" ===============
// cppName: "casadi::casadi_times"
// cWrapperName: "casadi_times__0"
// protoArgs: "(std::string ** err_msg, double* x0, double* x1)"
// params: [(Ref (Const CDouble),SwigOutput False),(Ref (Const CDouble),SwigOutput False)]
// retType: CDouble
// args: "(x0_, x1_)"
// cWrapperRetType: "double"
// proto: "double\n    casadi_times__0(std::string ** err_msg, double* x0, double* x1)"
// friendWrap: True
// fName: "casadi_times"
// call: "        double ret = x0_ * x1_;"
extern "C"
double
    casadi_times__0(std::string ** err_msg, double* x0, double* x1);
double
    casadi_times__0(std::string ** err_msg, double* x0, double* x1){
    try {
        double& x0_ = Marshaling<double&,double*>::marshal(x0);
        double& x1_ = Marshaling<double&,double*>::marshal(x1);

        double ret = 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;
    }
}


// ================== function "casadi::casadi_times" ===============
// cppName: "casadi::casadi_times"
// cWrapperName: "casadi_times__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_times__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_times"
// call: "        casadi::SX ret = x0_ * x1_;"
extern "C"
casadi::SX*
    casadi_times__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_times__1(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = 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;
    }
}


// ================== function "casadi::casadi_times" ===============
// cppName: "casadi::casadi_times"
// cWrapperName: "casadi_times__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_times__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_times"
// call: "        casadi::DM ret = x0_ * x1_;"
extern "C"
casadi::DM*
    casadi_times__2(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_times__2(std::string ** err_msg, 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 = 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;
    }
}


// ================== function "casadi::casadi_times" ===============
// cppName: "casadi::casadi_times"
// cWrapperName: "casadi_times__3"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_times__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_times"
// call: "        casadi::IM ret = x0_ * x1_;"
extern "C"
casadi::IM*
    casadi_times__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_times__3(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = 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;
    }
}


// ================== function "casadi::casadi_times" ===============
// cppName: "casadi::casadi_times"
// cWrapperName: "casadi_times__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_times__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_times"
// call: "        casadi::MX ret = x0_ * x1_;"
extern "C"
casadi::MX*
    casadi_times__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi_times__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = 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;
    }
}


// ================== function "casadi::casadi_trace" ===============
// cppName: "casadi::casadi_trace"
// cWrapperName: "casadi_trace__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_trace__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_trace"
// call: "        casadi::SX ret = trace(x0_);"
extern "C"
casadi::SX*
    casadi_trace__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_trace__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = trace(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;
    }
}


// ================== function "casadi::casadi_trace" ===============
// cppName: "casadi::casadi_trace"
// cWrapperName: "casadi_trace__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_trace__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_trace"
// call: "        casadi::DM ret = trace(x0_);"
extern "C"
casadi::DM*
    casadi_trace__1(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_trace__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = trace(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;
    }
}


// ================== function "casadi::casadi_trace" ===============
// cppName: "casadi::casadi_trace"
// cWrapperName: "casadi_trace__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_trace__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_trace"
// call: "        casadi::IM ret = trace(x0_);"
extern "C"
casadi::IM*
    casadi_trace__2(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_trace__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = trace(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;
    }
}


// ================== function "casadi::casadi_trace" ===============
// cppName: "casadi::casadi_trace"
// cWrapperName: "casadi_trace__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_trace__3(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_trace"
// call: "        casadi::MX ret = trace(x0_);"
extern "C"
casadi::MX*
    casadi_trace__3(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_trace__3(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = trace(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;
    }
}


// ================== function "casadi::casadi_transpose" ===============
// cppName: "casadi::casadi_transpose"
// cWrapperName: "casadi_transpose__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_transpose__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_transpose"
// call: "        casadi::SX ret = transpose(x0_);"
extern "C"
casadi::SX*
    casadi_transpose__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_transpose__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = transpose(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;
    }
}


// ================== function "casadi::casadi_transpose" ===============
// cppName: "casadi::casadi_transpose"
// cWrapperName: "casadi_transpose__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_transpose__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_transpose"
// call: "        casadi::DM ret = transpose(x0_);"
extern "C"
casadi::DM*
    casadi_transpose__1(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_transpose__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = transpose(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;
    }
}


// ================== function "casadi::casadi_transpose" ===============
// cppName: "casadi::casadi_transpose"
// cWrapperName: "casadi_transpose__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_transpose__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_transpose"
// call: "        casadi::IM ret = transpose(x0_);"
extern "C"
casadi::IM*
    casadi_transpose__2(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_transpose__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = transpose(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;
    }
}


// ================== function "casadi::casadi_transpose" ===============
// cppName: "casadi::casadi_transpose"
// cWrapperName: "casadi_transpose__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_transpose__3(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_transpose"
// call: "        casadi::MX ret = transpose(x0_);"
extern "C"
casadi::MX*
    casadi_transpose__3(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_transpose__3(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = transpose(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;
    }
}


// ================== function "casadi::casadi_transpose" ===============
// cppName: "casadi::casadi_transpose"
// cWrapperName: "casadi_transpose__4"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
// args: "(x0_)"
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi_transpose__4(std::string ** err_msg, casadi::Sparsity* x0)"
// friendWrap: True
// fName: "casadi_transpose"
// call: "        casadi::Sparsity ret = transpose(x0_);"
extern "C"
casadi::Sparsity*
    casadi_transpose__4(std::string ** err_msg, casadi::Sparsity* x0);
casadi::Sparsity*
    casadi_transpose__4(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::Sparsity ret = transpose(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;
    }
}


// ================== function "casadi::casadi_triangle" ===============
// cppName: "casadi::casadi_triangle"
// cWrapperName: "casadi_triangle__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_triangle__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_triangle"
// call: "        casadi::SX ret = triangle(x0_);"
extern "C"
casadi::SX*
    casadi_triangle__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_triangle__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = triangle(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;
    }
}


// ================== function "casadi::casadi_triangle" ===============
// cppName: "casadi::casadi_triangle"
// cWrapperName: "casadi_triangle__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_triangle__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_triangle"
// call: "        casadi::DM ret = triangle(x0_);"
extern "C"
casadi::DM*
    casadi_triangle__1(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_triangle__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = triangle(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;
    }
}


// ================== function "casadi::casadi_triangle" ===============
// cppName: "casadi::casadi_triangle"
// cWrapperName: "casadi_triangle__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_triangle__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_triangle"
// call: "        casadi::IM ret = triangle(x0_);"
extern "C"
casadi::IM*
    casadi_triangle__2(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_triangle__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = triangle(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;
    }
}


// ================== function "casadi::casadi_tril" ===============
// cppName: "casadi::casadi_tril"
// cWrapperName: "casadi_tril__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_tril__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_tril"
// call: "        casadi::SX ret = tril(x0_);"
extern "C"
casadi::SX*
    casadi_tril__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_tril__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = tril(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;
    }
}


// ================== function "casadi::casadi_tril" ===============
// cppName: "casadi::casadi_tril"
// cWrapperName: "casadi_tril__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, int x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_tril__1(std::string ** err_msg, casadi::SX* x0, int x1)"
// friendWrap: True
// fName: "casadi_tril"
// call: "        casadi::SX ret = tril(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_tril__1(std::string ** err_msg, casadi::SX* x0, int x1);
casadi::SX*
    casadi_tril__1(std::string ** err_msg, casadi::SX* x0, int x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        casadi::SX ret = tril(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;
    }
}


// ================== function "casadi::casadi_tril" ===============
// cppName: "casadi::casadi_tril"
// cWrapperName: "casadi_tril__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_tril__2(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_tril"
// call: "        casadi::DM ret = tril(x0_);"
extern "C"
casadi::DM*
    casadi_tril__2(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_tril__2(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = tril(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;
    }
}


// ================== function "casadi::casadi_tril" ===============
// cppName: "casadi::casadi_tril"
// cWrapperName: "casadi_tril__3"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, int x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_tril__3(std::string ** err_msg, casadi::DM* x0, int x1)"
// friendWrap: True
// fName: "casadi_tril"
// call: "        casadi::DM ret = tril(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_tril__3(std::string ** err_msg, casadi::DM* x0, int x1);
casadi::DM*
    casadi_tril__3(std::string ** err_msg, casadi::DM* x0, int x1){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        casadi::DM ret = tril(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;
    }
}


// ================== function "casadi::casadi_tril" ===============
// cppName: "casadi::casadi_tril"
// cWrapperName: "casadi_tril__4"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_tril__4(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_tril"
// call: "        casadi::IM ret = tril(x0_);"
extern "C"
casadi::IM*
    casadi_tril__4(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_tril__4(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = tril(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;
    }
}


// ================== function "casadi::casadi_tril" ===============
// cppName: "casadi::casadi_tril"
// cWrapperName: "casadi_tril__5"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, int x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_tril__5(std::string ** err_msg, casadi::IM* x0, int x1)"
// friendWrap: True
// fName: "casadi_tril"
// call: "        casadi::IM ret = tril(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_tril__5(std::string ** err_msg, casadi::IM* x0, int x1);
casadi::IM*
    casadi_tril__5(std::string ** err_msg, casadi::IM* x0, int x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        casadi::IM ret = tril(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;
    }
}


// ================== function "casadi::casadi_tril" ===============
// cppName: "casadi::casadi_tril"
// cWrapperName: "casadi_tril__6"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_tril__6(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_tril"
// call: "        casadi::MX ret = tril(x0_);"
extern "C"
casadi::MX*
    casadi_tril__6(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_tril__6(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = tril(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;
    }
}


// ================== function "casadi::casadi_tril" ===============
// cppName: "casadi::casadi_tril"
// cWrapperName: "casadi_tril__7"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, int x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_tril__7(std::string ** err_msg, casadi::MX* x0, int x1)"
// friendWrap: True
// fName: "casadi_tril"
// call: "        casadi::MX ret = tril(x0_, x1_);"
extern "C"
casadi::MX*
    casadi_tril__7(std::string ** err_msg, casadi::MX* x0, int x1);
casadi::MX*
    casadi_tril__7(std::string ** err_msg, casadi::MX* x0, int x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        casadi::MX ret = tril(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;
    }
}


// ================== function "casadi::casadi_tril" ===============
// cppName: "casadi::casadi_tril"
// cWrapperName: "casadi_tril__8"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
// args: "(x0_)"
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi_tril__8(std::string ** err_msg, casadi::Sparsity* x0)"
// friendWrap: True
// fName: "casadi_tril"
// call: "        casadi::Sparsity ret = tril(x0_);"
extern "C"
casadi::Sparsity*
    casadi_tril__8(std::string ** err_msg, casadi::Sparsity* x0);
casadi::Sparsity*
    casadi_tril__8(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::Sparsity ret = tril(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;
    }
}


// ================== function "casadi::casadi_tril" ===============
// cppName: "casadi::casadi_tril"
// cWrapperName: "casadi_tril__9"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, int x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CBool,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi_tril__9(std::string ** err_msg, casadi::Sparsity* x0, int x1)"
// friendWrap: True
// fName: "casadi_tril"
// call: "        casadi::Sparsity ret = tril(x0_, x1_);"
extern "C"
casadi::Sparsity*
    casadi_tril__9(std::string ** err_msg, casadi::Sparsity* x0, int x1);
casadi::Sparsity*
    casadi_tril__9(std::string ** err_msg, casadi::Sparsity* x0, int x1){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        casadi::Sparsity ret = tril(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;
    }
}


// ================== function "casadi::casadi_tril2symm" ===============
// cppName: "casadi::casadi_tril2symm"
// cWrapperName: "casadi_tril2symm__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_tril2symm__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_tril2symm"
// call: "        casadi::SX ret = tril2symm(x0_);"
extern "C"
casadi::SX*
    casadi_tril2symm__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_tril2symm__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = tril2symm(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;
    }
}


// ================== function "casadi::casadi_tril2symm" ===============
// cppName: "casadi::casadi_tril2symm"
// cWrapperName: "casadi_tril2symm__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_tril2symm__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_tril2symm"
// call: "        casadi::DM ret = tril2symm(x0_);"
extern "C"
casadi::DM*
    casadi_tril2symm__1(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_tril2symm__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = tril2symm(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;
    }
}


// ================== function "casadi::casadi_tril2symm" ===============
// cppName: "casadi::casadi_tril2symm"
// cWrapperName: "casadi_tril2symm__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_tril2symm__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_tril2symm"
// call: "        casadi::IM ret = tril2symm(x0_);"
extern "C"
casadi::IM*
    casadi_tril2symm__2(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_tril2symm__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = tril2symm(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;
    }
}


// ================== function "casadi::casadi_tril2symm" ===============
// cppName: "casadi::casadi_tril2symm"
// cWrapperName: "casadi_tril2symm__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_tril2symm__3(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_tril2symm"
// call: "        casadi::MX ret = tril2symm(x0_);"
extern "C"
casadi::MX*
    casadi_tril2symm__3(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_tril2symm__3(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = tril2symm(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;
    }
}


// ================== function "casadi::casadi_triu" ===============
// cppName: "casadi::casadi_triu"
// cWrapperName: "casadi_triu__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_triu__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_triu"
// call: "        casadi::SX ret = triu(x0_);"
extern "C"
casadi::SX*
    casadi_triu__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_triu__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = triu(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;
    }
}


// ================== function "casadi::casadi_triu" ===============
// cppName: "casadi::casadi_triu"
// cWrapperName: "casadi_triu__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, int x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CBool,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_triu__1(std::string ** err_msg, casadi::SX* x0, int x1)"
// friendWrap: True
// fName: "casadi_triu"
// call: "        casadi::SX ret = triu(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_triu__1(std::string ** err_msg, casadi::SX* x0, int x1);
casadi::SX*
    casadi_triu__1(std::string ** err_msg, casadi::SX* x0, int x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        casadi::SX ret = triu(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;
    }
}


// ================== function "casadi::casadi_triu" ===============
// cppName: "casadi::casadi_triu"
// cWrapperName: "casadi_triu__2"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_triu__2(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_triu"
// call: "        casadi::DM ret = triu(x0_);"
extern "C"
casadi::DM*
    casadi_triu__2(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_triu__2(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = triu(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;
    }
}


// ================== function "casadi::casadi_triu" ===============
// cppName: "casadi::casadi_triu"
// cWrapperName: "casadi_triu__3"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, int x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CBool,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_triu__3(std::string ** err_msg, casadi::DM* x0, int x1)"
// friendWrap: True
// fName: "casadi_triu"
// call: "        casadi::DM ret = triu(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_triu__3(std::string ** err_msg, casadi::DM* x0, int x1);
casadi::DM*
    casadi_triu__3(std::string ** err_msg, casadi::DM* x0, int x1){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        casadi::DM ret = triu(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;
    }
}


// ================== function "casadi::casadi_triu" ===============
// cppName: "casadi::casadi_triu"
// cWrapperName: "casadi_triu__4"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_triu__4(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_triu"
// call: "        casadi::IM ret = triu(x0_);"
extern "C"
casadi::IM*
    casadi_triu__4(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_triu__4(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = triu(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;
    }
}


// ================== function "casadi::casadi_triu" ===============
// cppName: "casadi::casadi_triu"
// cWrapperName: "casadi_triu__5"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, int x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_triu__5(std::string ** err_msg, casadi::IM* x0, int x1)"
// friendWrap: True
// fName: "casadi_triu"
// call: "        casadi::IM ret = triu(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_triu__5(std::string ** err_msg, casadi::IM* x0, int x1);
casadi::IM*
    casadi_triu__5(std::string ** err_msg, casadi::IM* x0, int x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        casadi::IM ret = triu(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;
    }
}


// ================== function "casadi::casadi_triu" ===============
// cppName: "casadi::casadi_triu"
// cWrapperName: "casadi_triu__6"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_triu__6(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_triu"
// call: "        casadi::MX ret = triu(x0_);"
extern "C"
casadi::MX*
    casadi_triu__6(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_triu__6(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = triu(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;
    }
}


// ================== function "casadi::casadi_triu" ===============
// cppName: "casadi::casadi_triu"
// cWrapperName: "casadi_triu__7"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, int x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CBool,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_triu__7(std::string ** err_msg, casadi::MX* x0, int x1)"
// friendWrap: True
// fName: "casadi_triu"
// call: "        casadi::MX ret = triu(x0_, x1_);"
extern "C"
casadi::MX*
    casadi_triu__7(std::string ** err_msg, casadi::MX* x0, int x1);
casadi::MX*
    casadi_triu__7(std::string ** err_msg, casadi::MX* x0, int x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        casadi::MX ret = triu(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;
    }
}


// ================== function "casadi::casadi_triu" ===============
// cppName: "casadi::casadi_triu"
// cWrapperName: "casadi_triu__8"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
// args: "(x0_)"
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi_triu__8(std::string ** err_msg, casadi::Sparsity* x0)"
// friendWrap: True
// fName: "casadi_triu"
// call: "        casadi::Sparsity ret = triu(x0_);"
extern "C"
casadi::Sparsity*
    casadi_triu__8(std::string ** err_msg, casadi::Sparsity* x0);
casadi::Sparsity*
    casadi_triu__8(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::Sparsity ret = triu(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;
    }
}


// ================== function "casadi::casadi_triu" ===============
// cppName: "casadi::casadi_triu"
// cWrapperName: "casadi_triu__9"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, int x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CBool,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi_triu__9(std::string ** err_msg, casadi::Sparsity* x0, int x1)"
// friendWrap: True
// fName: "casadi_triu"
// call: "        casadi::Sparsity ret = triu(x0_, x1_);"
extern "C"
casadi::Sparsity*
    casadi_triu__9(std::string ** err_msg, casadi::Sparsity* x0, int x1);
casadi::Sparsity*
    casadi_triu__9(std::string ** err_msg, casadi::Sparsity* x0, int x1){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        casadi::Sparsity ret = triu(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;
    }
}


// ================== function "casadi::casadi_triu2symm" ===============
// cppName: "casadi::casadi_triu2symm"
// cWrapperName: "casadi_triu2symm__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_triu2symm__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_triu2symm"
// call: "        casadi::SX ret = triu2symm(x0_);"
extern "C"
casadi::SX*
    casadi_triu2symm__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_triu2symm__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = triu2symm(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;
    }
}


// ================== function "casadi::casadi_triu2symm" ===============
// cppName: "casadi::casadi_triu2symm"
// cWrapperName: "casadi_triu2symm__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_triu2symm__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_triu2symm"
// call: "        casadi::DM ret = triu2symm(x0_);"
extern "C"
casadi::DM*
    casadi_triu2symm__1(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_triu2symm__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = triu2symm(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;
    }
}


// ================== function "casadi::casadi_triu2symm" ===============
// cppName: "casadi::casadi_triu2symm"
// cWrapperName: "casadi_triu2symm__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_triu2symm__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_triu2symm"
// call: "        casadi::IM ret = triu2symm(x0_);"
extern "C"
casadi::IM*
    casadi_triu2symm__2(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_triu2symm__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = triu2symm(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;
    }
}


// ================== function "casadi::casadi_triu2symm" ===============
// cppName: "casadi::casadi_triu2symm"
// cWrapperName: "casadi_triu2symm__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_triu2symm__3(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_triu2symm"
// call: "        casadi::MX ret = triu2symm(x0_);"
extern "C"
casadi::MX*
    casadi_triu2symm__3(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_triu2symm__3(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = triu2symm(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;
    }
}


// ================== function "casadi::casadi_unite" ===============
// cppName: "casadi::casadi_unite"
// cWrapperName: "casadi_unite__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_unite__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
// friendWrap: True
// fName: "casadi_unite"
// call: "        casadi::SX ret = unite(x0_, x1_);"
extern "C"
casadi::SX*
    casadi_unite__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
casadi::SX*
    casadi_unite__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        casadi::SX& x1_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x1);

        casadi::SX ret = unite(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;
    }
}


// ================== function "casadi::casadi_unite" ===============
// cppName: "casadi::casadi_unite"
// cWrapperName: "casadi_unite__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_unite__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
// friendWrap: True
// fName: "casadi_unite"
// call: "        casadi::DM ret = unite(x0_, x1_);"
extern "C"
casadi::DM*
    casadi_unite__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
casadi::DM*
    casadi_unite__1(std::string ** err_msg, 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 = unite(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;
    }
}


// ================== function "casadi::casadi_unite" ===============
// cppName: "casadi::casadi_unite"
// cWrapperName: "casadi_unite__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_unite__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
// friendWrap: True
// fName: "casadi_unite"
// call: "        casadi::IM ret = unite(x0_, x1_);"
extern "C"
casadi::IM*
    casadi_unite__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
casadi::IM*
    casadi_unite__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        casadi::IM& x1_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x1);

        casadi::IM ret = unite(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;
    }
}


// ================== function "casadi::casadi_unite" ===============
// cppName: "casadi::casadi_unite"
// cWrapperName: "casadi_unite__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_unite__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
// friendWrap: True
// fName: "casadi_unite"
// call: "        casadi::MX ret = unite(x0_, x1_);"
extern "C"
casadi::MX*
    casadi_unite__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
casadi::MX*
    casadi_unite__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);

        casadi::MX ret = unite(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;
    }
}


// ================== function "casadi::casadi_vec" ===============
// cppName: "casadi::casadi_vec"
// cWrapperName: "casadi_vec__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_vec__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_vec"
// call: "        casadi::SX ret = vec(x0_);"
extern "C"
casadi::SX*
    casadi_vec__0(std::string ** err_msg, casadi::SX* x0);
casadi::SX*
    casadi_vec__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        casadi::SX ret = vec(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;
    }
}


// ================== function "casadi::casadi_vec" ===============
// cppName: "casadi::casadi_vec"
// cWrapperName: "casadi_vec__1"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_vec__1(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_vec"
// call: "        casadi::DM ret = vec(x0_);"
extern "C"
casadi::DM*
    casadi_vec__1(std::string ** err_msg, casadi::DM* x0);
casadi::DM*
    casadi_vec__1(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        casadi::DM ret = vec(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;
    }
}


// ================== function "casadi::casadi_vec" ===============
// cppName: "casadi::casadi_vec"
// cWrapperName: "casadi_vec__2"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_vec__2(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_vec"
// call: "        casadi::IM ret = vec(x0_);"
extern "C"
casadi::IM*
    casadi_vec__2(std::string ** err_msg, casadi::IM* x0);
casadi::IM*
    casadi_vec__2(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::IM ret = vec(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;
    }
}


// ================== function "casadi::casadi_vec" ===============
// cppName: "casadi::casadi_vec"
// cWrapperName: "casadi_vec__3"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_vec__3(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_vec"
// call: "        casadi::MX ret = vec(x0_);"
extern "C"
casadi::MX*
    casadi_vec__3(std::string ** err_msg, casadi::MX* x0);
casadi::MX*
    casadi_vec__3(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        casadi::MX ret = vec(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;
    }
}


// ================== function "casadi::casadi_vec" ===============
// cppName: "casadi::casadi_vec"
// cWrapperName: "casadi_vec__4"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
// args: "(x0_)"
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi_vec__4(std::string ** err_msg, casadi::Sparsity* x0)"
// friendWrap: True
// fName: "casadi_vec"
// call: "        casadi::Sparsity ret = vec(x0_);"
extern "C"
casadi::Sparsity*
    casadi_vec__4(std::string ** err_msg, casadi::Sparsity* x0);
casadi::Sparsity*
    casadi_vec__4(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

        casadi::Sparsity ret = vec(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;
    }
}


// ================== function "casadi::casadi_veccat" ===============
// cppName: "casadi::casadi_veccat"
// cWrapperName: "casadi_veccat__0"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_veccat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
// friendWrap: True
// fName: "casadi_veccat"
// call: "        casadi::SX ret = veccat(x0_);"
extern "C"
casadi::SX*
    casadi_veccat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0);
casadi::SX*
    casadi_veccat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0){
    try {
        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);

        casadi::SX ret = veccat(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;
    }
}


// ================== function "casadi::casadi_veccat" ===============
// cppName: "casadi::casadi_veccat"
// cWrapperName: "casadi_veccat__1"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_veccat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
// friendWrap: True
// fName: "casadi_veccat"
// call: "        casadi::DM ret = veccat(x0_);"
extern "C"
casadi::DM*
    casadi_veccat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0);
casadi::DM*
    casadi_veccat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0){
    try {
        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);

        casadi::DM ret = veccat(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;
    }
}


// ================== function "casadi::casadi_veccat" ===============
// cppName: "casadi::casadi_veccat"
// cWrapperName: "casadi_veccat__2"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_veccat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
// friendWrap: True
// fName: "casadi_veccat"
// call: "        casadi::IM ret = veccat(x0_);"
extern "C"
casadi::IM*
    casadi_veccat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0);
casadi::IM*
    casadi_veccat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0){
    try {
        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);

        casadi::IM ret = veccat(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;
    }
}


// ================== function "casadi::casadi_veccat" ===============
// cppName: "casadi::casadi_veccat"
// cWrapperName: "casadi_veccat__3"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_veccat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
// friendWrap: True
// fName: "casadi_veccat"
// call: "        casadi::MX ret = veccat(x0_);"
extern "C"
casadi::MX*
    casadi_veccat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0);
casadi::MX*
    casadi_veccat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);

        casadi::MX ret = veccat(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;
    }
}


// ================== function "casadi::casadi_veccat" ===============
// cppName: "casadi::casadi_veccat"
// cWrapperName: "casadi_veccat__4"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
// args: "(x0_)"
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi_veccat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
// friendWrap: True
// fName: "casadi_veccat"
// call: "        casadi::Sparsity ret = veccat(x0_);"
extern "C"
casadi::Sparsity*
    casadi_veccat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
casadi::Sparsity*
    casadi_veccat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
    try {
        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);

        casadi::Sparsity ret = veccat(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;
    }
}


// ================== function "casadi::casadi_vertcat" ===============
// cppName: "casadi::casadi_vertcat"
// cWrapperName: "casadi_vertcat__0"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "SX")
// args: "(x0_)"
// cWrapperRetType: "casadi::SX*"
// proto: "casadi::SX*\n    casadi_vertcat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0)"
// friendWrap: True
// fName: "casadi_vertcat"
// call: "        casadi::SX ret = vertcat(x0_);"
extern "C"
casadi::SX*
    casadi_vertcat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0);
casadi::SX*
    casadi_vertcat__0(std::string ** err_msg, std::vector< casadi::SX* >* x0){
    try {
        std::vector< casadi::SX > x0_ = Marshaling<std::vector< casadi::SX >,std::vector< casadi::SX* >*>::marshal(x0);

        casadi::SX ret = vertcat(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;
    }
}


// ================== function "casadi::casadi_vertcat" ===============
// cppName: "casadi::casadi_vertcat"
// cWrapperName: "casadi_vertcat__1"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "DM")
// args: "(x0_)"
// cWrapperRetType: "casadi::DM*"
// proto: "casadi::DM*\n    casadi_vertcat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0)"
// friendWrap: True
// fName: "casadi_vertcat"
// call: "        casadi::DM ret = vertcat(x0_);"
extern "C"
casadi::DM*
    casadi_vertcat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0);
casadi::DM*
    casadi_vertcat__1(std::string ** err_msg, std::vector< casadi::DM* >* x0){
    try {
        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);

        casadi::DM ret = vertcat(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;
    }
}


// ================== function "casadi::casadi_vertcat" ===============
// cppName: "casadi::casadi_vertcat"
// cWrapperName: "casadi_vertcat__2"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "IM")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "IM")
// args: "(x0_)"
// cWrapperRetType: "casadi::IM*"
// proto: "casadi::IM*\n    casadi_vertcat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0)"
// friendWrap: True
// fName: "casadi_vertcat"
// call: "        casadi::IM ret = vertcat(x0_);"
extern "C"
casadi::IM*
    casadi_vertcat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0);
casadi::IM*
    casadi_vertcat__2(std::string ** err_msg, std::vector< casadi::IM* >* x0){
    try {
        std::vector< casadi::IM > x0_ = Marshaling<std::vector< casadi::IM >,std::vector< casadi::IM* >*>::marshal(x0);

        casadi::IM ret = vertcat(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;
    }
}


// ================== function "casadi::casadi_vertcat" ===============
// cppName: "casadi::casadi_vertcat"
// cWrapperName: "casadi_vertcat__3"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    casadi_vertcat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0)"
// friendWrap: True
// fName: "casadi_vertcat"
// call: "        casadi::MX ret = vertcat(x0_);"
extern "C"
casadi::MX*
    casadi_vertcat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0);
casadi::MX*
    casadi_vertcat__3(std::string ** err_msg, std::vector< casadi::MX* >* x0){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);

        casadi::MX ret = vertcat(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;
    }
}


// ================== function "casadi::casadi_vertcat" ===============
// cppName: "casadi::casadi_vertcat"
// cWrapperName: "casadi_vertcat__4"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Sparsity")
// args: "(x0_)"
// cWrapperRetType: "casadi::Sparsity*"
// proto: "casadi::Sparsity*\n    casadi_vertcat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0)"
// friendWrap: True
// fName: "casadi_vertcat"
// call: "        casadi::Sparsity ret = vertcat(x0_);"
extern "C"
casadi::Sparsity*
    casadi_vertcat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0);
casadi::Sparsity*
    casadi_vertcat__4(std::string ** err_msg, std::vector< casadi::Sparsity* >* x0){
    try {
        std::vector< casadi::Sparsity > x0_ = Marshaling<std::vector< casadi::Sparsity >,std::vector< casadi::Sparsity* >*>::marshal(x0);

        casadi::Sparsity ret = vertcat(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;
    }
}


// ================== function "casadi::casadi_vertsplit" ===============
// cppName: "casadi::casadi_vertsplit"
// cWrapperName: "casadi_vertsplit__0"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
// args: "(x0_)"
// cWrapperRetType: "std::vector< casadi::SX* >*"
// proto: "std::vector< casadi::SX* >*\n    casadi_vertsplit__0(std::string ** err_msg, casadi::SX* x0)"
// friendWrap: True
// fName: "casadi_vertsplit"
// call: "        std::vector< casadi::SX > ret = vertsplit(x0_);"
extern "C"
std::vector< casadi::SX* >*
    casadi_vertsplit__0(std::string ** err_msg, casadi::SX* x0);
std::vector< casadi::SX* >*
    casadi_vertsplit__0(std::string ** err_msg, casadi::SX* x0){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);

        std::vector< casadi::SX > ret = vertsplit(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;
    }
}


// ================== function "casadi::casadi_vertsplit" ===============
// cppName: "casadi::casadi_vertsplit"
// cWrapperName: "casadi_vertsplit__1"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< casadi::SX* >*"
// proto: "std::vector< casadi::SX* >*\n    casadi_vertsplit__1(std::string ** err_msg, casadi::SX* x0, long long x1)"
// friendWrap: True
// fName: "casadi_vertsplit"
// call: "        std::vector< casadi::SX > ret = vertsplit(x0_, x1_);"
extern "C"
std::vector< casadi::SX* >*
    casadi_vertsplit__1(std::string ** err_msg, casadi::SX* x0, long long x1);
std::vector< casadi::SX* >*
    casadi_vertsplit__1(std::string ** err_msg, casadi::SX* x0, long long x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        std::vector< casadi::SX > ret = vertsplit(x0_, x1_);
        // x0 is not a swig output
        // x1 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;
    }
}


// ================== function "casadi::casadi_vertsplit" ===============
// cppName: "casadi::casadi_vertsplit"
// cWrapperName: "casadi_vertsplit__2"
// protoArgs: "(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "SX"))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< casadi::SX* >*"
// proto: "std::vector< casadi::SX* >*\n    casadi_vertsplit__2(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1)"
// friendWrap: True
// fName: "casadi_vertsplit"
// call: "        std::vector< casadi::SX > ret = vertsplit(x0_, x1_);"
extern "C"
std::vector< casadi::SX* >*
    casadi_vertsplit__2(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1);
std::vector< casadi::SX* >*
    casadi_vertsplit__2(std::string ** err_msg, casadi::SX* x0, std::vector< long long >* x1){
    try {
        casadi::SX& x0_ = Marshaling<casadi::SX&,casadi::SX*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);

        std::vector< casadi::SX > ret = vertsplit(x0_, x1_);
        // x0 is not a swig output
        // x1 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;
    }
}


// ================== function "casadi::casadi_vertsplit" ===============
// cppName: "casadi::casadi_vertsplit"
// cWrapperName: "casadi_vertsplit__3"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
// args: "(x0_)"
// cWrapperRetType: "std::vector< casadi::DM* >*"
// proto: "std::vector< casadi::DM* >*\n    casadi_vertsplit__3(std::string ** err_msg, casadi::DM* x0)"
// friendWrap: True
// fName: "casadi_vertsplit"
// call: "        std::vector< casadi::DM > ret = vertsplit(x0_);"
extern "C"
std::vector< casadi::DM* >*
    casadi_vertsplit__3(std::string ** err_msg, casadi::DM* x0);
std::vector< casadi::DM* >*
    casadi_vertsplit__3(std::string ** err_msg, casadi::DM* x0){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);

        std::vector< casadi::DM > ret = vertsplit(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;
    }
}


// ================== function "casadi::casadi_vertsplit" ===============
// cppName: "casadi::casadi_vertsplit"
// cWrapperName: "casadi_vertsplit__4"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< casadi::DM* >*"
// proto: "std::vector< casadi::DM* >*\n    casadi_vertsplit__4(std::string ** err_msg, casadi::DM* x0, long long x1)"
// friendWrap: True
// fName: "casadi_vertsplit"
// call: "        std::vector< casadi::DM > ret = vertsplit(x0_, x1_);"
extern "C"
std::vector< casadi::DM* >*
    casadi_vertsplit__4(std::string ** err_msg, casadi::DM* x0, long long x1);
std::vector< casadi::DM* >*
    casadi_vertsplit__4(std::string ** err_msg, casadi::DM* x0, long long x1){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        std::vector< casadi::DM > ret = vertsplit(x0_, x1_);
        // x0 is not a swig output
        // x1 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;
    }
}


// ================== function "casadi::casadi_vertsplit" ===============
// cppName: "casadi::casadi_vertsplit"
// cWrapperName: "casadi_vertsplit__5"
// protoArgs: "(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< casadi::DM* >*"
// proto: "std::vector< casadi::DM* >*\n    casadi_vertsplit__5(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1)"
// friendWrap: True
// fName: "casadi_vertsplit"
// call: "        std::vector< casadi::DM > ret = vertsplit(x0_, x1_);"
extern "C"
std::vector< casadi::DM* >*
    casadi_vertsplit__5(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1);
std::vector< casadi::DM* >*
    casadi_vertsplit__5(std::string ** err_msg, casadi::DM* x0, std::vector< long long >* x1){
    try {
        casadi::DM& x0_ = Marshaling<casadi::DM&,casadi::DM*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);

        std::vector< casadi::DM > ret = vertsplit(x0_, x1_);
        // x0 is not a swig output
        // x1 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;
    }
}


// ================== function "casadi::casadi_vertsplit" ===============
// cppName: "casadi::casadi_vertsplit"
// cWrapperName: "casadi_vertsplit__6"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
// args: "(x0_)"
// cWrapperRetType: "std::vector< casadi::IM* >*"
// proto: "std::vector< casadi::IM* >*\n    casadi_vertsplit__6(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: True
// fName: "casadi_vertsplit"
// call: "        std::vector< casadi::IM > ret = vertsplit(x0_);"
extern "C"
std::vector< casadi::IM* >*
    casadi_vertsplit__6(std::string ** err_msg, casadi::IM* x0);
std::vector< casadi::IM* >*
    casadi_vertsplit__6(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        std::vector< casadi::IM > ret = vertsplit(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;
    }
}


// ================== function "casadi::casadi_vertsplit" ===============
// cppName: "casadi::casadi_vertsplit"
// cWrapperName: "casadi_vertsplit__7"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< casadi::IM* >*"
// proto: "std::vector< casadi::IM* >*\n    casadi_vertsplit__7(std::string ** err_msg, casadi::IM* x0, long long x1)"
// friendWrap: True
// fName: "casadi_vertsplit"
// call: "        std::vector< casadi::IM > ret = vertsplit(x0_, x1_);"
extern "C"
std::vector< casadi::IM* >*
    casadi_vertsplit__7(std::string ** err_msg, casadi::IM* x0, long long x1);
std::vector< casadi::IM* >*
    casadi_vertsplit__7(std::string ** err_msg, casadi::IM* x0, long long x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        std::vector< casadi::IM > ret = vertsplit(x0_, x1_);
        // x0 is not a swig output
        // x1 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;
    }
}


// ================== function "casadi::casadi_vertsplit" ===============
// cppName: "casadi::casadi_vertsplit"
// cWrapperName: "casadi_vertsplit__8"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "IM"))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< casadi::IM* >*"
// proto: "std::vector< casadi::IM* >*\n    casadi_vertsplit__8(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1)"
// friendWrap: True
// fName: "casadi_vertsplit"
// call: "        std::vector< casadi::IM > ret = vertsplit(x0_, x1_);"
extern "C"
std::vector< casadi::IM* >*
    casadi_vertsplit__8(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1);
std::vector< casadi::IM* >*
    casadi_vertsplit__8(std::string ** err_msg, casadi::IM* x0, std::vector< long long >* x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);

        std::vector< casadi::IM > ret = vertsplit(x0_, x1_);
        // x0 is not a swig output
        // x1 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;
    }
}


// ================== function "casadi::casadi_vertsplit" ===============
// cppName: "casadi::casadi_vertsplit"
// cWrapperName: "casadi_vertsplit__9"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// args: "(x0_)"
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi_vertsplit__9(std::string ** err_msg, casadi::MX* x0)"
// friendWrap: True
// fName: "casadi_vertsplit"
// call: "        std::vector< casadi::MX > ret = vertsplit(x0_);"
extern "C"
std::vector< casadi::MX* >*
    casadi_vertsplit__9(std::string ** err_msg, casadi::MX* x0);
std::vector< casadi::MX* >*
    casadi_vertsplit__9(std::string ** err_msg, casadi::MX* x0){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);

        std::vector< casadi::MX > ret = vertsplit(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;
    }
}


// ================== function "casadi::casadi_vertsplit" ===============
// cppName: "casadi::casadi_vertsplit"
// cWrapperName: "casadi_vertsplit__10"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi_vertsplit__10(std::string ** err_msg, casadi::MX* x0, long long x1)"
// friendWrap: True
// fName: "casadi_vertsplit"
// call: "        std::vector< casadi::MX > ret = vertsplit(x0_, x1_);"
extern "C"
std::vector< casadi::MX* >*
    casadi_vertsplit__10(std::string ** err_msg, casadi::MX* x0, long long x1);
std::vector< casadi::MX* >*
    casadi_vertsplit__10(std::string ** err_msg, 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::vector< casadi::MX > ret = vertsplit(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;
    }
}


// ================== function "casadi::casadi_vertsplit" ===============
// cppName: "casadi::casadi_vertsplit"
// cWrapperName: "casadi_vertsplit__11"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    casadi_vertsplit__11(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1)"
// friendWrap: True
// fName: "casadi_vertsplit"
// call: "        std::vector< casadi::MX > ret = vertsplit(x0_, x1_);"
extern "C"
std::vector< casadi::MX* >*
    casadi_vertsplit__11(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1);
std::vector< casadi::MX* >*
    casadi_vertsplit__11(std::string ** err_msg, casadi::MX* x0, std::vector< long long >* x1){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);

        std::vector< casadi::MX > ret = vertsplit(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;
    }
}


// ================== function "casadi::casadi_vertsplit" ===============
// cppName: "casadi::casadi_vertsplit"
// cWrapperName: "casadi_vertsplit__12"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// args: "(x0_)"
// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
// proto: "std::vector< casadi::Sparsity* >*\n    casadi_vertsplit__12(std::string ** err_msg, casadi::Sparsity* x0)"
// friendWrap: True
// fName: "casadi_vertsplit"
// call: "        std::vector< casadi::Sparsity > ret = vertsplit(x0_);"
extern "C"
std::vector< casadi::Sparsity* >*
    casadi_vertsplit__12(std::string ** err_msg, casadi::Sparsity* x0);
std::vector< casadi::Sparsity* >*
    casadi_vertsplit__12(std::string ** err_msg, casadi::Sparsity* x0){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);

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

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


// ================== function "casadi::casadi_vertsplit" ===============
// cppName: "casadi::casadi_vertsplit"
// cWrapperName: "casadi_vertsplit__13"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, long long x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
// proto: "std::vector< casadi::Sparsity* >*\n    casadi_vertsplit__13(std::string ** err_msg, casadi::Sparsity* x0, long long x1)"
// friendWrap: True
// fName: "casadi_vertsplit"
// call: "        std::vector< casadi::Sparsity > ret = vertsplit(x0_, x1_);"
extern "C"
std::vector< casadi::Sparsity* >*
    casadi_vertsplit__13(std::string ** err_msg, casadi::Sparsity* x0, long long x1);
std::vector< casadi::Sparsity* >*
    casadi_vertsplit__13(std::string ** err_msg, 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);

        std::vector< casadi::Sparsity > ret = vertsplit(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

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


// ================== function "casadi::casadi_vertsplit" ===============
// cppName: "casadi::casadi_vertsplit"
// cWrapperName: "casadi_vertsplit__14"
// protoArgs: "(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "Sparsity"))
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< casadi::Sparsity* >*"
// proto: "std::vector< casadi::Sparsity* >*\n    casadi_vertsplit__14(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1)"
// friendWrap: True
// fName: "casadi_vertsplit"
// call: "        std::vector< casadi::Sparsity > ret = vertsplit(x0_, x1_);"
extern "C"
std::vector< casadi::Sparsity* >*
    casadi_vertsplit__14(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1);
std::vector< casadi::Sparsity* >*
    casadi_vertsplit__14(std::string ** err_msg, casadi::Sparsity* x0, std::vector< long long >* x1){
    try {
        casadi::Sparsity& x0_ = Marshaling<casadi::Sparsity&,casadi::Sparsity*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);

        std::vector< casadi::Sparsity > ret = vertsplit(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

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


// ================== function "casadi::collocation_interpolators" ===============
// cppName: "casadi::collocation_interpolators"
// cWrapperName: "collocation_interpolators"
// protoArgs: "(std::string ** err_msg, std::vector< double >* x0, std::vector< std::vector< double >* >** x1, std::vector< double >** x2)"
// params: [(Ref (Const (StdVec CDouble)),SwigOutput False),(Ref (StdVec (StdVec CDouble)),SwigOutput True),(Ref (StdVec CDouble),SwigOutput True)]
// retType: CVoid
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "void"
// proto: "void\n    collocation_interpolators(std::string ** err_msg, std::vector< double >* x0, std::vector< std::vector< double >* >** x1, std::vector< double >** x2)"
// friendWrap: False
// fName: "collocation_interpolators"
// call: "        casadi::collocation_interpolators(x0_, x1_, x2_);"
extern "C"
void
    collocation_interpolators(std::string ** err_msg, std::vector< double >* x0, std::vector< std::vector< double >* >** x1, std::vector< double >** x2);
void
    collocation_interpolators(std::string ** err_msg, std::vector< double >* x0, std::vector< std::vector< double >* >** x1, std::vector< double >** x2){
    try {
        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
        std::vector< std::vector< double > > x1_ = std::vector< std::vector< double > >();  // Swig output
        std::vector< double > x2_ = std::vector< double >();  // Swig output

        casadi::collocation_interpolators(x0_, x1_, x2_);
        // x0 is not a swig output
        *x1 = WrapReturn< std::vector< std::vector< double >* >*, std::vector< std::vector< double > > >::wrapReturn( x1_ );
        *x2 = WrapReturn< std::vector< double >*, std::vector< double > >::wrapReturn( x2_ );

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


// ================== function "casadi::collocation_points" ===============
// cppName: "casadi::collocation_points"
// cWrapperName: "collocation_points__0"
// protoArgs: "(std::string ** err_msg, long long x0)"
// params: [(CLongLong,SwigOutput False)]
// retType: StdVec CDouble
// args: "(x0_)"
// cWrapperRetType: "std::vector< double >*"
// proto: "std::vector< double >*\n    collocation_points__0(std::string ** err_msg, long long x0)"
// friendWrap: False
// fName: "collocation_points"
// call: "        std::vector< double > ret = casadi::collocation_points(x0_);"
extern "C"
std::vector< double >*
    collocation_points__0(std::string ** err_msg, long long x0);
std::vector< double >*
    collocation_points__0(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        std::vector< double > ret = casadi::collocation_points(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;
    }
}


// ================== function "casadi::collocation_points" ===============
// cppName: "casadi::collocation_points"
// cWrapperName: "collocation_points__1"
// protoArgs: "(std::string ** err_msg, long long x0, std::string* x1)"
// params: [(CLongLong,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: StdVec CDouble
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< double >*"
// proto: "std::vector< double >*\n    collocation_points__1(std::string ** err_msg, long long x0, std::string* x1)"
// friendWrap: False
// fName: "collocation_points"
// call: "        std::vector< double > ret = casadi::collocation_points(x0_, x1_);"
extern "C"
std::vector< double >*
    collocation_points__1(std::string ** err_msg, long long x0, std::string* x1);
std::vector< double >*
    collocation_points__1(std::string ** err_msg, 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);

        std::vector< double > ret = casadi::collocation_points(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;
    }
}


// ================== function "casadi::complement" ===============
// cppName: "casadi::complement"
// cWrapperName: "complement"
// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0, long long x1)"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: StdVec CLongLong
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    complement(std::string ** err_msg, std::vector< long long >* x0, long long x1)"
// friendWrap: False
// fName: "complement"
// call: "        std::vector< long long > ret = casadi::complement(x0_, x1_);"
extern "C"
std::vector< long long >*
    complement(std::string ** err_msg, std::vector< long long >* x0, long long x1);
std::vector< long long >*
    complement(std::string ** err_msg, std::vector< long long >* x0, long long x1){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        std::vector< long long > ret = casadi::complement(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;
    }
}


// ================== function "casadi::conic" ===============
// cppName: "casadi::conic"
// cWrapperName: "conic__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    conic__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2)"
// friendWrap: False
// fName: "conic"
// call: "        casadi::Function ret = casadi::conic(x0_, x1_, x2_);"
extern "C"
casadi::Function*
    conic__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2);
casadi::Function*
    conic__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* 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::Sparsity > x2_ = Marshaling<std::map< std::string, casadi::Sparsity >,std::map< std::string, casadi::Sparsity* >*>::marshal(x2);

        casadi::Function ret = casadi::conic(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;
    }
}


// ================== function "casadi::conic" ===============
// cppName: "casadi::conic"
// cWrapperName: "conic__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    conic__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// friendWrap: False
// fName: "conic"
// call: "        casadi::Function ret = casadi::conic(x0_, x1_, x2_, x3_);"
extern "C"
casadi::Function*
    conic__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::Function*
    conic__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, 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);
        std::map< std::string, casadi::Sparsity > x2_ = Marshaling<std::map< std::string, casadi::Sparsity >,std::map< std::string, 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::Function ret = casadi::conic(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;
    }
}


// ================== function "casadi::conic_debug" ===============
// cppName: "casadi::conic_debug"
// cWrapperName: "conic_debug"
// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_)"
// cWrapperRetType: "void"
// proto: "void\n    conic_debug(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
// friendWrap: False
// fName: "conic_debug"
// call: "        casadi::conic_debug(x0_, x1_);"
extern "C"
void
    conic_debug(std::string ** err_msg, casadi::Function* x0, std::string* x1);
void
    conic_debug(std::string ** err_msg, casadi::Function* x0, std::string* x1){
    try {
        casadi::Function& x0_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::conic_debug(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;
    }
}


// ================== function "casadi::conic_in" ===============
// cppName: "casadi::conic_in"
// cWrapperName: "conic_in__0"
// protoArgs: "(std::string ** err_msg, long long x0)"
// params: [(CLongLong,SwigOutput False)]
// retType: StdString
// args: "(x0_)"
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    conic_in__0(std::string ** err_msg, long long x0)"
// friendWrap: False
// fName: "conic_in"
// call: "        std::string ret = casadi::conic_in(x0_);"
extern "C"
std::string*
    conic_in__0(std::string ** err_msg, long long x0);
std::string*
    conic_in__0(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        std::string ret = casadi::conic_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;
    }
}


// ================== function "casadi::conic_in" ===============
// cppName: "casadi::conic_in"
// cWrapperName: "conic_in__1"
// protoArgs: "(std::string ** err_msg)"
// params: []
// retType: StdVec StdString
// args: "()"
// cWrapperRetType: "std::vector< std::string* >*"
// proto: "std::vector< std::string* >*\n    conic_in__1(std::string ** err_msg)"
// friendWrap: False
// fName: "conic_in"
// call: "        std::vector< std::string > ret = casadi::conic_in();"
extern "C"
std::vector< std::string* >*
    conic_in__1(std::string ** err_msg);
std::vector< std::string* >*
    conic_in__1(std::string ** err_msg){
    try {

        std::vector< std::string > ret = casadi::conic_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;
    }
}


// ================== function "casadi::conic_n_in" ===============
// cppName: "casadi::conic_n_in"
// cWrapperName: "conic_n_in"
// protoArgs: "(std::string ** err_msg)"
// params: []
// retType: CLongLong
// args: "()"
// cWrapperRetType: "long long"
// proto: "long long\n    conic_n_in(std::string ** err_msg)"
// friendWrap: False
// fName: "conic_n_in"
// call: "        long long ret = casadi::conic_n_in();"
extern "C"
long long
    conic_n_in(std::string ** err_msg);
long long
    conic_n_in(std::string ** err_msg){
    try {

        long long ret = casadi::conic_n_in();

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


// ================== function "casadi::conic_n_out" ===============
// cppName: "casadi::conic_n_out"
// cWrapperName: "conic_n_out"
// protoArgs: "(std::string ** err_msg)"
// params: []
// retType: CLongLong
// args: "()"
// cWrapperRetType: "long long"
// proto: "long long\n    conic_n_out(std::string ** err_msg)"
// friendWrap: False
// fName: "conic_n_out"
// call: "        long long ret = casadi::conic_n_out();"
extern "C"
long long
    conic_n_out(std::string ** err_msg);
long long
    conic_n_out(std::string ** err_msg){
    try {

        long long ret = casadi::conic_n_out();

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


// ================== function "casadi::conic_option_info" ===============
// cppName: "casadi::conic_option_info"
// cWrapperName: "conic_option_info"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: StdString
// args: "(x0_, x1_)"
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    conic_option_info(std::string ** err_msg, std::string* x0, std::string* x1)"
// friendWrap: False
// fName: "conic_option_info"
// call: "        std::string ret = casadi::conic_option_info(x0_, x1_);"
extern "C"
std::string*
    conic_option_info(std::string ** err_msg, std::string* x0, std::string* x1);
std::string*
    conic_option_info(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);

        std::string ret = casadi::conic_option_info(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;
    }
}


// ================== function "casadi::conic_option_type" ===============
// cppName: "casadi::conic_option_type"
// cWrapperName: "conic_option_type"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: StdString
// args: "(x0_, x1_)"
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    conic_option_type(std::string ** err_msg, std::string* x0, std::string* x1)"
// friendWrap: False
// fName: "conic_option_type"
// call: "        std::string ret = casadi::conic_option_type(x0_, x1_);"
extern "C"
std::string*
    conic_option_type(std::string ** err_msg, std::string* x0, std::string* x1);
std::string*
    conic_option_type(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);

        std::string ret = casadi::conic_option_type(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;
    }
}


// ================== function "casadi::conic_options" ===============
// cppName: "casadi::conic_options"
// cWrapperName: "conic_options"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// params: [(Ref (Const StdString),SwigOutput False)]
// retType: StdVec StdString
// args: "(x0_)"
// cWrapperRetType: "std::vector< std::string* >*"
// proto: "std::vector< std::string* >*\n    conic_options(std::string ** err_msg, std::string* x0)"
// friendWrap: False
// fName: "conic_options"
// call: "        std::vector< std::string > ret = casadi::conic_options(x0_);"
extern "C"
std::vector< std::string* >*
    conic_options(std::string ** err_msg, std::string* x0);
std::vector< std::string* >*
    conic_options(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

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

        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;
    }
}


// ================== function "casadi::conic_out" ===============
// cppName: "casadi::conic_out"
// cWrapperName: "conic_out__0"
// protoArgs: "(std::string ** err_msg, long long x0)"
// params: [(CLongLong,SwigOutput False)]
// retType: StdString
// args: "(x0_)"
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    conic_out__0(std::string ** err_msg, long long x0)"
// friendWrap: False
// fName: "conic_out"
// call: "        std::string ret = casadi::conic_out(x0_);"
extern "C"
std::string*
    conic_out__0(std::string ** err_msg, long long x0);
std::string*
    conic_out__0(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        std::string ret = casadi::conic_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;
    }
}


// ================== function "casadi::conic_out" ===============
// cppName: "casadi::conic_out"
// cWrapperName: "conic_out__1"
// protoArgs: "(std::string ** err_msg)"
// params: []
// retType: StdVec StdString
// args: "()"
// cWrapperRetType: "std::vector< std::string* >*"
// proto: "std::vector< std::string* >*\n    conic_out__1(std::string ** err_msg)"
// friendWrap: False
// fName: "conic_out"
// call: "        std::vector< std::string > ret = casadi::conic_out();"
extern "C"
std::vector< std::string* >*
    conic_out__1(std::string ** err_msg);
std::vector< std::string* >*
    conic_out__1(std::string ** err_msg){
    try {

        std::vector< std::string > ret = casadi::conic_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;
    }
}


// ================== function "casadi::doc_conic" ===============
// cppName: "casadi::doc_conic"
// cWrapperName: "doc_conic"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// params: [(Ref (Const StdString),SwigOutput False)]
// retType: StdString
// args: "(x0_)"
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    doc_conic(std::string ** err_msg, std::string* x0)"
// friendWrap: False
// fName: "doc_conic"
// call: "        std::string ret = casadi::doc_conic(x0_);"
extern "C"
std::string*
    doc_conic(std::string ** err_msg, std::string* x0);
std::string*
    doc_conic(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = casadi::doc_conic(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;
    }
}


// ================== function "casadi::doc_dple" ===============
// cppName: "casadi::doc_dple"
// cWrapperName: "doc_dple"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// params: [(Ref (Const StdString),SwigOutput False)]
// retType: StdString
// args: "(x0_)"
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    doc_dple(std::string ** err_msg, std::string* x0)"
// friendWrap: False
// fName: "doc_dple"
// call: "        std::string ret = casadi::doc_dple(x0_);"
extern "C"
std::string*
    doc_dple(std::string ** err_msg, std::string* x0);
std::string*
    doc_dple(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = casadi::doc_dple(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;
    }
}


// ================== function "casadi::doc_expm" ===============
// cppName: "casadi::doc_expm"
// cWrapperName: "doc_expm"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// params: [(Ref (Const StdString),SwigOutput False)]
// retType: StdString
// args: "(x0_)"
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    doc_expm(std::string ** err_msg, std::string* x0)"
// friendWrap: False
// fName: "doc_expm"
// call: "        std::string ret = casadi::doc_expm(x0_);"
extern "C"
std::string*
    doc_expm(std::string ** err_msg, std::string* x0);
std::string*
    doc_expm(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = casadi::doc_expm(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;
    }
}


// ================== function "casadi::doc_integrator" ===============
// cppName: "casadi::doc_integrator"
// cWrapperName: "doc_integrator"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// params: [(Ref (Const StdString),SwigOutput False)]
// retType: StdString
// args: "(x0_)"
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    doc_integrator(std::string ** err_msg, std::string* x0)"
// friendWrap: False
// fName: "doc_integrator"
// call: "        std::string ret = casadi::doc_integrator(x0_);"
extern "C"
std::string*
    doc_integrator(std::string ** err_msg, std::string* x0);
std::string*
    doc_integrator(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = casadi::doc_integrator(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;
    }
}


// ================== function "casadi::doc_interpolant" ===============
// cppName: "casadi::doc_interpolant"
// cWrapperName: "doc_interpolant"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// params: [(Ref (Const StdString),SwigOutput False)]
// retType: StdString
// args: "(x0_)"
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    doc_interpolant(std::string ** err_msg, std::string* x0)"
// friendWrap: False
// fName: "doc_interpolant"
// call: "        std::string ret = casadi::doc_interpolant(x0_);"
extern "C"
std::string*
    doc_interpolant(std::string ** err_msg, std::string* x0);
std::string*
    doc_interpolant(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = casadi::doc_interpolant(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;
    }
}


// ================== function "casadi::doc_linsol" ===============
// cppName: "casadi::doc_linsol"
// cWrapperName: "doc_linsol"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// params: [(Ref (Const StdString),SwigOutput False)]
// retType: StdString
// args: "(x0_)"
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    doc_linsol(std::string ** err_msg, std::string* x0)"
// friendWrap: False
// fName: "doc_linsol"
// call: "        std::string ret = casadi::doc_linsol(x0_);"
extern "C"
std::string*
    doc_linsol(std::string ** err_msg, std::string* x0);
std::string*
    doc_linsol(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = casadi::doc_linsol(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;
    }
}


// ================== function "casadi::doc_nlpsol" ===============
// cppName: "casadi::doc_nlpsol"
// cWrapperName: "doc_nlpsol"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// params: [(Ref (Const StdString),SwigOutput False)]
// retType: StdString
// args: "(x0_)"
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    doc_nlpsol(std::string ** err_msg, std::string* x0)"
// friendWrap: False
// fName: "doc_nlpsol"
// call: "        std::string ret = casadi::doc_nlpsol(x0_);"
extern "C"
std::string*
    doc_nlpsol(std::string ** err_msg, std::string* x0);
std::string*
    doc_nlpsol(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = casadi::doc_nlpsol(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;
    }
}


// ================== function "casadi::doc_rootfinder" ===============
// cppName: "casadi::doc_rootfinder"
// cWrapperName: "doc_rootfinder"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// params: [(Ref (Const StdString),SwigOutput False)]
// retType: StdString
// args: "(x0_)"
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    doc_rootfinder(std::string ** err_msg, std::string* x0)"
// friendWrap: False
// fName: "doc_rootfinder"
// call: "        std::string ret = casadi::doc_rootfinder(x0_);"
extern "C"
std::string*
    doc_rootfinder(std::string ** err_msg, std::string* x0);
std::string*
    doc_rootfinder(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        std::string ret = casadi::doc_rootfinder(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;
    }
}


// ================== function "casadi::dple_in" ===============
// cppName: "casadi::dple_in"
// cWrapperName: "dple_in__0"
// protoArgs: "(std::string ** err_msg, long long x0)"
// params: [(CLongLong,SwigOutput False)]
// retType: StdString
// args: "(x0_)"
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    dple_in__0(std::string ** err_msg, long long x0)"
// friendWrap: False
// fName: "dple_in"
// call: "        std::string ret = casadi::dple_in(x0_);"
extern "C"
std::string*
    dple_in__0(std::string ** err_msg, long long x0);
std::string*
    dple_in__0(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        std::string ret = casadi::dple_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;
    }
}


// ================== function "casadi::dple_in" ===============
// cppName: "casadi::dple_in"
// cWrapperName: "dple_in__1"
// protoArgs: "(std::string ** err_msg)"
// params: []
// retType: StdVec StdString
// args: "()"
// cWrapperRetType: "std::vector< std::string* >*"
// proto: "std::vector< std::string* >*\n    dple_in__1(std::string ** err_msg)"
// friendWrap: False
// fName: "dple_in"
// call: "        std::vector< std::string > ret = casadi::dple_in();"
extern "C"
std::vector< std::string* >*
    dple_in__1(std::string ** err_msg);
std::vector< std::string* >*
    dple_in__1(std::string ** err_msg){
    try {

        std::vector< std::string > ret = casadi::dple_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;
    }
}


// ================== function "casadi::dple_n_in" ===============
// cppName: "casadi::dple_n_in"
// cWrapperName: "dple_n_in"
// protoArgs: "(std::string ** err_msg)"
// params: []
// retType: CLongLong
// args: "()"
// cWrapperRetType: "long long"
// proto: "long long\n    dple_n_in(std::string ** err_msg)"
// friendWrap: False
// fName: "dple_n_in"
// call: "        long long ret = casadi::dple_n_in();"
extern "C"
long long
    dple_n_in(std::string ** err_msg);
long long
    dple_n_in(std::string ** err_msg){
    try {

        long long ret = casadi::dple_n_in();

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


// ================== function "casadi::dple_n_out" ===============
// cppName: "casadi::dple_n_out"
// cWrapperName: "dple_n_out"
// protoArgs: "(std::string ** err_msg)"
// params: []
// retType: CLongLong
// args: "()"
// cWrapperRetType: "long long"
// proto: "long long\n    dple_n_out(std::string ** err_msg)"
// friendWrap: False
// fName: "dple_n_out"
// call: "        long long ret = casadi::dple_n_out();"
extern "C"
long long
    dple_n_out(std::string ** err_msg);
long long
    dple_n_out(std::string ** err_msg){
    try {

        long long ret = casadi::dple_n_out();

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


// ================== function "casadi::dple_out" ===============
// cppName: "casadi::dple_out"
// cWrapperName: "dple_out__0"
// protoArgs: "(std::string ** err_msg, long long x0)"
// params: [(CLongLong,SwigOutput False)]
// retType: StdString
// args: "(x0_)"
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    dple_out__0(std::string ** err_msg, long long x0)"
// friendWrap: False
// fName: "dple_out"
// call: "        std::string ret = casadi::dple_out(x0_);"
extern "C"
std::string*
    dple_out__0(std::string ** err_msg, long long x0);
std::string*
    dple_out__0(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        std::string ret = casadi::dple_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;
    }
}


// ================== function "casadi::dple_out" ===============
// cppName: "casadi::dple_out"
// cWrapperName: "dple_out__1"
// protoArgs: "(std::string ** err_msg)"
// params: []
// retType: StdVec StdString
// args: "()"
// cWrapperRetType: "std::vector< std::string* >*"
// proto: "std::vector< std::string* >*\n    dple_out__1(std::string ** err_msg)"
// friendWrap: False
// fName: "dple_out"
// call: "        std::vector< std::string > ret = casadi::dple_out();"
extern "C"
std::vector< std::string* >*
    dple_out__1(std::string ** err_msg);
std::vector< std::string* >*
    dple_out__1(std::string ** err_msg){
    try {

        std::vector< std::string > ret = casadi::dple_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;
    }
}


// ================== function "casadi::dplesol" ===============
// cppName: "casadi::dplesol"
// cWrapperName: "dplesol__0"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::string* x2)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< casadi::DM* >*"
// proto: "std::vector< casadi::DM* >*\n    dplesol__0(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::string* x2)"
// friendWrap: False
// fName: "dplesol"
// call: "        std::vector< casadi::DM > ret = casadi::dplesol(x0_, x1_, x2_);"
extern "C"
std::vector< casadi::DM* >*
    dplesol__0(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::string* x2);
std::vector< casadi::DM* >*
    dplesol__0(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::string* x2){
    try {
        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);

        std::vector< casadi::DM > ret = casadi::dplesol(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;
    }
}


// ================== function "casadi::dplesol" ===============
// cppName: "casadi::dplesol"
// cWrapperName: "dplesol__1"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "DM"))
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "std::vector< casadi::DM* >*"
// proto: "std::vector< casadi::DM* >*\n    dplesol__1(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
// friendWrap: False
// fName: "dplesol"
// call: "        std::vector< casadi::DM > ret = casadi::dplesol(x0_, x1_, x2_, x3_);"
extern "C"
std::vector< casadi::DM* >*
    dplesol__1(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3);
std::vector< casadi::DM* >*
    dplesol__1(std::string ** err_msg, std::vector< casadi::DM* >* x0, std::vector< casadi::DM* >* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::vector< casadi::DM > x0_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x0);
        std::vector< casadi::DM > x1_ = Marshaling<std::vector< casadi::DM >,std::vector< casadi::DM* >*>::marshal(x1);
        std::string& x2_ = Marshaling<std::string&,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);

        std::vector< casadi::DM > ret = casadi::dplesol(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;
    }
}


// ================== function "casadi::dplesol" ===============
// cppName: "casadi::dplesol"
// cWrapperName: "dplesol__2"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::string* x2)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    dplesol__2(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::string* x2)"
// friendWrap: False
// fName: "dplesol"
// call: "        std::vector< casadi::MX > ret = casadi::dplesol(x0_, x1_, x2_);"
extern "C"
std::vector< casadi::MX* >*
    dplesol__2(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::string* x2);
std::vector< casadi::MX* >*
    dplesol__2(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::string* x2){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);

        std::vector< casadi::MX > ret = casadi::dplesol(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;
    }
}


// ================== function "casadi::dplesol" ===============
// cppName: "casadi::dplesol"
// cWrapperName: "dplesol__3"
// protoArgs: "(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: StdVec (UserType (Namespace ["casadi"]) (Name "MX"))
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "std::vector< casadi::MX* >*"
// proto: "std::vector< casadi::MX* >*\n    dplesol__3(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
// friendWrap: False
// fName: "dplesol"
// call: "        std::vector< casadi::MX > ret = casadi::dplesol(x0_, x1_, x2_, x3_);"
extern "C"
std::vector< casadi::MX* >*
    dplesol__3(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3);
std::vector< casadi::MX* >*
    dplesol__3(std::string ** err_msg, std::vector< casadi::MX* >* x0, std::vector< casadi::MX* >* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        std::vector< casadi::MX > x0_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x0);
        std::vector< casadi::MX > x1_ = Marshaling<std::vector< casadi::MX >,std::vector< casadi::MX* >*>::marshal(x1);
        std::string& x2_ = Marshaling<std::string&,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);

        std::vector< casadi::MX > ret = casadi::dplesol(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;
    }
}


// ================== function "casadi::dplesol" ===============
// cppName: "casadi::dplesol"
// cWrapperName: "dplesol__4"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    dplesol__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2)"
// friendWrap: False
// fName: "dplesol"
// call: "        casadi::MX ret = casadi::dplesol(x0_, x1_, x2_);"
extern "C"
casadi::MX*
    dplesol__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2);
casadi::MX*
    dplesol__4(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);

        casadi::MX ret = casadi::dplesol(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;
    }
}


// ================== function "casadi::dplesol" ===============
// cppName: "casadi::dplesol"
// cWrapperName: "dplesol__5"
// protoArgs: "(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "MX")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::MX*"
// proto: "casadi::MX*\n    dplesol__5(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
// friendWrap: False
// fName: "dplesol"
// call: "        casadi::MX ret = casadi::dplesol(x0_, x1_, x2_, x3_);"
extern "C"
casadi::MX*
    dplesol__5(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::MX*
    dplesol__5(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3){
    try {
        casadi::MX& x0_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x0);
        casadi::MX& x1_ = Marshaling<casadi::MX&,casadi::MX*>::marshal(x1);
        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);
        std::map< std::string, casadi::GenericType > x3_ = Marshaling<std::map< std::string, casadi::GenericType >,std::map< std::string, casadi::GenericType* >*>::marshal(x3);

        casadi::MX ret = casadi::dplesol(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::MX*, casadi::MX >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::dplesol" ===============
// cppName: "casadi::dplesol"
// cWrapperName: "dplesol__6"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    dplesol__6(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2)"
// friendWrap: False
// fName: "dplesol"
// call: "        casadi::Function ret = casadi::dplesol(x0_, x1_, x2_);"
extern "C"
casadi::Function*
    dplesol__6(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2);
casadi::Function*
    dplesol__6(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* 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::Sparsity > x2_ = Marshaling<std::map< std::string, casadi::Sparsity >,std::map< std::string, casadi::Sparsity* >*>::marshal(x2);

        casadi::Function ret = casadi::dplesol(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;
    }
}


// ================== function "casadi::dplesol" ===============
// cppName: "casadi::dplesol"
// cWrapperName: "dplesol__7"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "Sparsity")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    dplesol__7(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// friendWrap: False
// fName: "dplesol"
// call: "        casadi::Function ret = casadi::dplesol(x0_, x1_, x2_, x3_);"
extern "C"
casadi::Function*
    dplesol__7(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::Function*
    dplesol__7(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, 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);
        std::map< std::string, casadi::Sparsity > x2_ = Marshaling<std::map< std::string, casadi::Sparsity >,std::map< std::string, 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::Function ret = casadi::dplesol(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;
    }
}


// ================== function "casadi::expm_n_in" ===============
// cppName: "casadi::expm_n_in"
// cWrapperName: "expm_n_in"
// protoArgs: "(std::string ** err_msg)"
// params: []
// retType: CLongLong
// args: "()"
// cWrapperRetType: "long long"
// proto: "long long\n    expm_n_in(std::string ** err_msg)"
// friendWrap: False
// fName: "expm_n_in"
// call: "        long long ret = casadi::expm_n_in();"
extern "C"
long long
    expm_n_in(std::string ** err_msg);
long long
    expm_n_in(std::string ** err_msg){
    try {

        long long ret = casadi::expm_n_in();

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


// ================== function "casadi::expm_n_out" ===============
// cppName: "casadi::expm_n_out"
// cWrapperName: "expm_n_out"
// protoArgs: "(std::string ** err_msg)"
// params: []
// retType: CLongLong
// args: "()"
// cWrapperRetType: "long long"
// proto: "long long\n    expm_n_out(std::string ** err_msg)"
// friendWrap: False
// fName: "expm_n_out"
// call: "        long long ret = casadi::expm_n_out();"
extern "C"
long long
    expm_n_out(std::string ** err_msg);
long long
    expm_n_out(std::string ** err_msg){
    try {

        long long ret = casadi::expm_n_out();

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


// ================== function "casadi::expmsol" ===============
// cppName: "casadi::expmsol"
// cWrapperName: "expmsol__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Sparsity"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    expmsol__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2)"
// friendWrap: False
// fName: "expmsol"
// call: "        casadi::Function ret = casadi::expmsol(x0_, x1_, x2_);"
extern "C"
casadi::Function*
    expmsol__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2);
casadi::Function*
    expmsol__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::Function ret = casadi::expmsol(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;
    }
}


// ================== function "casadi::expmsol" ===============
// cppName: "casadi::expmsol"
// cWrapperName: "expmsol__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, std::map< std::string, casadi::GenericType* >* 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)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    expmsol__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, std::map< std::string, casadi::GenericType* >* x3)"
// friendWrap: False
// fName: "expmsol"
// call: "        casadi::Function ret = casadi::expmsol(x0_, x1_, x2_, x3_);"
extern "C"
casadi::Function*
    expmsol__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::Function*
    expmsol__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::Function ret = casadi::expmsol(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;
    }
}


// ================== function "casadi::external" ===============
// cppName: "casadi::external"
// cWrapperName: "external__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Importer* x1)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Importer"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    external__0(std::string ** err_msg, std::string* x0, casadi::Importer* x1)"
// friendWrap: False
// fName: "external"
// call: "        casadi::Function ret = casadi::external(x0_, x1_);"
extern "C"
casadi::Function*
    external__0(std::string ** err_msg, std::string* x0, casadi::Importer* x1);
casadi::Function*
    external__0(std::string ** err_msg, 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 = casadi::external(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;
    }
}


// ================== function "casadi::external" ===============
// cppName: "casadi::external"
// cWrapperName: "external__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Importer* x1, std::map< std::string, casadi::GenericType* >* 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)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    external__1(std::string ** err_msg, std::string* x0, casadi::Importer* x1, std::map< std::string, casadi::GenericType* >* x2)"
// friendWrap: False
// fName: "external"
// call: "        casadi::Function ret = casadi::external(x0_, x1_, x2_);"
extern "C"
casadi::Function*
    external__1(std::string ** err_msg, std::string* x0, casadi::Importer* x1, std::map< std::string, casadi::GenericType* >* x2);
casadi::Function*
    external__1(std::string ** err_msg, 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 = casadi::external(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;
    }
}


// ================== function "casadi::external" ===============
// cppName: "casadi::external"
// cWrapperName: "external__2"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    external__2(std::string ** err_msg, std::string* x0, std::string* x1)"
// friendWrap: False
// fName: "external"
// call: "        casadi::Function ret = casadi::external(x0_, x1_);"
extern "C"
casadi::Function*
    external__2(std::string ** err_msg, std::string* x0, std::string* x1);
casadi::Function*
    external__2(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::Function ret = casadi::external(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;
    }
}


// ================== function "casadi::external" ===============
// cppName: "casadi::external"
// cWrapperName: "external__3"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    external__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
// friendWrap: False
// fName: "external"
// call: "        casadi::Function ret = casadi::external(x0_, x1_, x2_);"
extern "C"
casadi::Function*
    external__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2);
casadi::Function*
    external__3(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::Function ret = casadi::external(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;
    }
}


// ================== function "casadi::external" ===============
// cppName: "casadi::external"
// cWrapperName: "external__4"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// params: [(Ref (Const StdString),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    external__4(std::string ** err_msg, std::string* x0)"
// friendWrap: False
// fName: "external"
// call: "        casadi::Function ret = casadi::external(x0_);"
extern "C"
casadi::Function*
    external__4(std::string ** err_msg, std::string* x0);
casadi::Function*
    external__4(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        casadi::Function ret = casadi::external(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;
    }
}


// ================== function "casadi::external" ===============
// cppName: "casadi::external"
// cWrapperName: "external__5"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    external__5(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
// friendWrap: False
// fName: "external"
// call: "        casadi::Function ret = casadi::external(x0_, x1_);"
extern "C"
casadi::Function*
    external__5(std::string ** err_msg, std::string* x0, std::map< std::string, casadi::GenericType* >* x1);
casadi::Function*
    external__5(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::Function ret = casadi::external(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;
    }
}


// ================== function "casadi::has_conic" ===============
// cppName: "casadi::has_conic"
// cWrapperName: "has_conic"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// params: [(Ref (Const StdString),SwigOutput False)]
// retType: CBool
// args: "(x0_)"
// cWrapperRetType: "int"
// proto: "int\n    has_conic(std::string ** err_msg, std::string* x0)"
// friendWrap: False
// fName: "has_conic"
// call: "        bool ret = casadi::has_conic(x0_);"
extern "C"
int
    has_conic(std::string ** err_msg, std::string* x0);
int
    has_conic(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = casadi::has_conic(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;
    }
}


// ================== function "casadi::has_dple" ===============
// cppName: "casadi::has_dple"
// cWrapperName: "has_dple"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// params: [(Ref (Const StdString),SwigOutput False)]
// retType: CBool
// args: "(x0_)"
// cWrapperRetType: "int"
// proto: "int\n    has_dple(std::string ** err_msg, std::string* x0)"
// friendWrap: False
// fName: "has_dple"
// call: "        bool ret = casadi::has_dple(x0_);"
extern "C"
int
    has_dple(std::string ** err_msg, std::string* x0);
int
    has_dple(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = casadi::has_dple(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;
    }
}


// ================== function "casadi::has_expm" ===============
// cppName: "casadi::has_expm"
// cWrapperName: "has_expm"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// params: [(Ref (Const StdString),SwigOutput False)]
// retType: CBool
// args: "(x0_)"
// cWrapperRetType: "int"
// proto: "int\n    has_expm(std::string ** err_msg, std::string* x0)"
// friendWrap: False
// fName: "has_expm"
// call: "        bool ret = casadi::has_expm(x0_);"
extern "C"
int
    has_expm(std::string ** err_msg, std::string* x0);
int
    has_expm(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = casadi::has_expm(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;
    }
}


// ================== function "casadi::has_integrator" ===============
// cppName: "casadi::has_integrator"
// cWrapperName: "has_integrator"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// params: [(Ref (Const StdString),SwigOutput False)]
// retType: CBool
// args: "(x0_)"
// cWrapperRetType: "int"
// proto: "int\n    has_integrator(std::string ** err_msg, std::string* x0)"
// friendWrap: False
// fName: "has_integrator"
// call: "        bool ret = casadi::has_integrator(x0_);"
extern "C"
int
    has_integrator(std::string ** err_msg, std::string* x0);
int
    has_integrator(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = casadi::has_integrator(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;
    }
}


// ================== function "casadi::has_interpolant" ===============
// cppName: "casadi::has_interpolant"
// cWrapperName: "has_interpolant"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// params: [(Ref (Const StdString),SwigOutput False)]
// retType: CBool
// args: "(x0_)"
// cWrapperRetType: "int"
// proto: "int\n    has_interpolant(std::string ** err_msg, std::string* x0)"
// friendWrap: False
// fName: "has_interpolant"
// call: "        bool ret = casadi::has_interpolant(x0_);"
extern "C"
int
    has_interpolant(std::string ** err_msg, std::string* x0);
int
    has_interpolant(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = casadi::has_interpolant(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;
    }
}


// ================== function "casadi::has_linsol" ===============
// cppName: "casadi::has_linsol"
// cWrapperName: "has_linsol"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// params: [(Ref (Const StdString),SwigOutput False)]
// retType: CBool
// args: "(x0_)"
// cWrapperRetType: "int"
// proto: "int\n    has_linsol(std::string ** err_msg, std::string* x0)"
// friendWrap: False
// fName: "has_linsol"
// call: "        bool ret = casadi::has_linsol(x0_);"
extern "C"
int
    has_linsol(std::string ** err_msg, std::string* x0);
int
    has_linsol(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = casadi::has_linsol(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;
    }
}


// ================== function "casadi::has_nlpsol" ===============
// cppName: "casadi::has_nlpsol"
// cWrapperName: "has_nlpsol"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// params: [(Ref (Const StdString),SwigOutput False)]
// retType: CBool
// args: "(x0_)"
// cWrapperRetType: "int"
// proto: "int\n    has_nlpsol(std::string ** err_msg, std::string* x0)"
// friendWrap: False
// fName: "has_nlpsol"
// call: "        bool ret = casadi::has_nlpsol(x0_);"
extern "C"
int
    has_nlpsol(std::string ** err_msg, std::string* x0);
int
    has_nlpsol(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = casadi::has_nlpsol(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;
    }
}


// ================== function "casadi::has_rootfinder" ===============
// cppName: "casadi::has_rootfinder"
// cWrapperName: "has_rootfinder"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// params: [(Ref (Const StdString),SwigOutput False)]
// retType: CBool
// args: "(x0_)"
// cWrapperRetType: "int"
// proto: "int\n    has_rootfinder(std::string ** err_msg, std::string* x0)"
// friendWrap: False
// fName: "has_rootfinder"
// call: "        bool ret = casadi::has_rootfinder(x0_);"
extern "C"
int
    has_rootfinder(std::string ** err_msg, std::string* x0);
int
    has_rootfinder(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

        bool ret = casadi::has_rootfinder(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;
    }
}


// ================== function "casadi::hash_combine" ===============
// cppName: "casadi::hash_combine"
// cWrapperName: "hash_combine"
// protoArgs: "(std::string ** err_msg, size_t* x0, std::vector< long long >* x1)"
// params: [(Ref CSize,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: CVoid
// args: "(x0_, x1_)"
// cWrapperRetType: "void"
// proto: "void\n    hash_combine(std::string ** err_msg, size_t* x0, std::vector< long long >* x1)"
// friendWrap: False
// fName: "hash_combine"
// call: "        casadi::hash_combine(x0_, x1_);"
extern "C"
void
    hash_combine(std::string ** err_msg, size_t* x0, std::vector< long long >* x1);
void
    hash_combine(std::string ** err_msg, size_t* x0, std::vector< long long >* x1){
    try {
        size_t& x0_ = Marshaling<size_t&,size_t*>::marshal(x0);
        std::vector< long long > x1_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x1);

        casadi::hash_combine(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;
    }
}


// ================== function "casadi::hash_sparsity" ===============
// cppName: "casadi::hash_sparsity"
// cWrapperName: "hash_sparsity"
// protoArgs: "(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
// params: [(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False),(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: CSize
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "size_t"
// proto: "size_t\n    hash_sparsity(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3)"
// friendWrap: False
// fName: "hash_sparsity"
// call: "        size_t ret = casadi::hash_sparsity(x0_, x1_, x2_, x3_);"
extern "C"
size_t
    hash_sparsity(std::string ** err_msg, long long x0, long long x1, std::vector< long long >* x2, std::vector< long long >* x3);
size_t
    hash_sparsity(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);

        size_t ret = casadi::hash_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 WrapReturn< size_t, size_t >::wrapReturn( ret );
    } catch (std::exception& ex) {
         *err_msg = new std::string(ex.what());
         return 0;
    }
}


// ================== function "casadi::index_interp1d" ===============
// cppName: "casadi::index_interp1d"
// cWrapperName: "index_interp1d__0"
// protoArgs: "(std::string ** err_msg, std::vector< double >* x0, double x1)"
// params: [(Ref (Const (StdVec CDouble)),SwigOutput False),(CDouble,SwigOutput False)]
// retType: CDouble
// args: "(x0_, x1_)"
// cWrapperRetType: "double"
// proto: "double\n    index_interp1d__0(std::string ** err_msg, std::vector< double >* x0, double x1)"
// friendWrap: False
// fName: "index_interp1d"
// call: "        double ret = casadi::index_interp1d(x0_, x1_);"
extern "C"
double
    index_interp1d__0(std::string ** err_msg, std::vector< double >* x0, double x1);
double
    index_interp1d__0(std::string ** err_msg, std::vector< double >* x0, double x1){
    try {
        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
        double x1_ = Marshaling<double,double>::marshal(x1);

        double ret = casadi::index_interp1d(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;
    }
}


// ================== function "casadi::index_interp1d" ===============
// cppName: "casadi::index_interp1d"
// cWrapperName: "index_interp1d__1"
// protoArgs: "(std::string ** err_msg, std::vector< double >* x0, double x1, int x2)"
// params: [(Ref (Const (StdVec CDouble)),SwigOutput False),(CDouble,SwigOutput False),(CBool,SwigOutput False)]
// retType: CDouble
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "double"
// proto: "double\n    index_interp1d__1(std::string ** err_msg, std::vector< double >* x0, double x1, int x2)"
// friendWrap: False
// fName: "index_interp1d"
// call: "        double ret = casadi::index_interp1d(x0_, x1_, x2_);"
extern "C"
double
    index_interp1d__1(std::string ** err_msg, std::vector< double >* x0, double x1, int x2);
double
    index_interp1d__1(std::string ** err_msg, std::vector< double >* x0, double x1, int x2){
    try {
        std::vector< double > x0_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x0);
        double x1_ = Marshaling<double,double>::marshal(x1);
        bool x2_ = Marshaling<bool,int>::marshal(x2);

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

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


// ================== function "casadi::integrator" ===============
// cppName: "casadi::integrator"
// cWrapperName: "integrator__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    integrator__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2)"
// friendWrap: False
// fName: "integrator"
// call: "        casadi::Function ret = casadi::integrator(x0_, x1_, x2_);"
extern "C"
casadi::Function*
    integrator__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2);
casadi::Function*
    integrator__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* 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::MX > x2_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x2);

        casadi::Function ret = casadi::integrator(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;
    }
}


// ================== function "casadi::integrator" ===============
// cppName: "casadi::integrator"
// cWrapperName: "integrator__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    integrator__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// friendWrap: False
// fName: "integrator"
// call: "        casadi::Function ret = casadi::integrator(x0_, x1_, x2_, x3_);"
extern "C"
casadi::Function*
    integrator__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::Function*
    integrator__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* 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);
        std::map< std::string, casadi::MX > x2_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, 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::integrator(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;
    }
}


// ================== function "casadi::integrator" ===============
// cppName: "casadi::integrator"
// cWrapperName: "integrator__2"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    integrator__2(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2)"
// friendWrap: False
// fName: "integrator"
// call: "        casadi::Function ret = casadi::integrator(x0_, x1_, x2_);"
extern "C"
casadi::Function*
    integrator__2(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2);
casadi::Function*
    integrator__2(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* 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::SX > x2_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x2);

        casadi::Function ret = casadi::integrator(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;
    }
}


// ================== function "casadi::integrator" ===============
// cppName: "casadi::integrator"
// cWrapperName: "integrator__3"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    integrator__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// friendWrap: False
// fName: "integrator"
// call: "        casadi::Function ret = casadi::integrator(x0_, x1_, x2_, x3_);"
extern "C"
casadi::Function*
    integrator__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::Function*
    integrator__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* 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);
        std::map< std::string, casadi::SX > x2_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, 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::integrator(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;
    }
}


// ================== function "casadi::integrator_in" ===============
// cppName: "casadi::integrator_in"
// cWrapperName: "integrator_in__0"
// protoArgs: "(std::string ** err_msg, long long x0)"
// params: [(CLongLong,SwigOutput False)]
// retType: StdString
// args: "(x0_)"
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    integrator_in__0(std::string ** err_msg, long long x0)"
// friendWrap: False
// fName: "integrator_in"
// call: "        std::string ret = casadi::integrator_in(x0_);"
extern "C"
std::string*
    integrator_in__0(std::string ** err_msg, long long x0);
std::string*
    integrator_in__0(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        std::string ret = casadi::integrator_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;
    }
}


// ================== function "casadi::integrator_in" ===============
// cppName: "casadi::integrator_in"
// cWrapperName: "integrator_in__1"
// protoArgs: "(std::string ** err_msg)"
// params: []
// retType: StdVec StdString
// args: "()"
// cWrapperRetType: "std::vector< std::string* >*"
// proto: "std::vector< std::string* >*\n    integrator_in__1(std::string ** err_msg)"
// friendWrap: False
// fName: "integrator_in"
// call: "        std::vector< std::string > ret = casadi::integrator_in();"
extern "C"
std::vector< std::string* >*
    integrator_in__1(std::string ** err_msg);
std::vector< std::string* >*
    integrator_in__1(std::string ** err_msg){
    try {

        std::vector< std::string > ret = casadi::integrator_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;
    }
}


// ================== function "casadi::integrator_n_in" ===============
// cppName: "casadi::integrator_n_in"
// cWrapperName: "integrator_n_in"
// protoArgs: "(std::string ** err_msg)"
// params: []
// retType: CLongLong
// args: "()"
// cWrapperRetType: "long long"
// proto: "long long\n    integrator_n_in(std::string ** err_msg)"
// friendWrap: False
// fName: "integrator_n_in"
// call: "        long long ret = casadi::integrator_n_in();"
extern "C"
long long
    integrator_n_in(std::string ** err_msg);
long long
    integrator_n_in(std::string ** err_msg){
    try {

        long long ret = casadi::integrator_n_in();

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


// ================== function "casadi::integrator_n_out" ===============
// cppName: "casadi::integrator_n_out"
// cWrapperName: "integrator_n_out"
// protoArgs: "(std::string ** err_msg)"
// params: []
// retType: CLongLong
// args: "()"
// cWrapperRetType: "long long"
// proto: "long long\n    integrator_n_out(std::string ** err_msg)"
// friendWrap: False
// fName: "integrator_n_out"
// call: "        long long ret = casadi::integrator_n_out();"
extern "C"
long long
    integrator_n_out(std::string ** err_msg);
long long
    integrator_n_out(std::string ** err_msg){
    try {

        long long ret = casadi::integrator_n_out();

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


// ================== function "casadi::integrator_out" ===============
// cppName: "casadi::integrator_out"
// cWrapperName: "integrator_out__0"
// protoArgs: "(std::string ** err_msg, long long x0)"
// params: [(CLongLong,SwigOutput False)]
// retType: StdString
// args: "(x0_)"
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    integrator_out__0(std::string ** err_msg, long long x0)"
// friendWrap: False
// fName: "integrator_out"
// call: "        std::string ret = casadi::integrator_out(x0_);"
extern "C"
std::string*
    integrator_out__0(std::string ** err_msg, long long x0);
std::string*
    integrator_out__0(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        std::string ret = casadi::integrator_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;
    }
}


// ================== function "casadi::integrator_out" ===============
// cppName: "casadi::integrator_out"
// cWrapperName: "integrator_out__1"
// protoArgs: "(std::string ** err_msg)"
// params: []
// retType: StdVec StdString
// args: "()"
// cWrapperRetType: "std::vector< std::string* >*"
// proto: "std::vector< std::string* >*\n    integrator_out__1(std::string ** err_msg)"
// friendWrap: False
// fName: "integrator_out"
// call: "        std::vector< std::string > ret = casadi::integrator_out();"
extern "C"
std::vector< std::string* >*
    integrator_out__1(std::string ** err_msg);
std::vector< std::string* >*
    integrator_out__1(std::string ** err_msg){
    try {

        std::vector< std::string > ret = casadi::integrator_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;
    }
}


// ================== function "casadi::interpolant" ===============
// cppName: "casadi::interpolant"
// cWrapperName: "interpolant__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::vector< double >* >* x2, std::vector< double >* x3)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (StdVec CDouble))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    interpolant__0(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::vector< double >* >* x2, std::vector< double >* x3)"
// friendWrap: False
// fName: "interpolant"
// call: "        casadi::Function ret = casadi::interpolant(x0_, x1_, x2_, x3_);"
extern "C"
casadi::Function*
    interpolant__0(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::vector< double >* >* x2, std::vector< double >* x3);
casadi::Function*
    interpolant__0(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::vector< double >* >* x2, std::vector< double >* 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::vector< double > > x2_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x2);
        std::vector< double > x3_ = Marshaling<std::vector< double >,std::vector< double >*>::marshal(x3);

        casadi::Function ret = casadi::interpolant(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;
    }
}


// ================== function "casadi::interpolant" ===============
// cppName: "casadi::interpolant"
// cWrapperName: "interpolant__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::vector< double >* >* x2, std::vector< double >* x3, std::map< std::string, casadi::GenericType* >* x4)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdVec (StdVec CDouble))),SwigOutput False),(Ref (Const (StdVec CDouble)),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_, x3_, x4_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    interpolant__1(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::vector< double >* >* x2, std::vector< double >* x3, std::map< std::string, casadi::GenericType* >* x4)"
// friendWrap: False
// fName: "interpolant"
// call: "        casadi::Function ret = casadi::interpolant(x0_, x1_, x2_, x3_, x4_);"
extern "C"
casadi::Function*
    interpolant__1(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::vector< double >* >* x2, std::vector< double >* x3, std::map< std::string, casadi::GenericType* >* x4);
casadi::Function*
    interpolant__1(std::string ** err_msg, std::string* x0, std::string* x1, std::vector< std::vector< double >* >* x2, std::vector< double >* 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::vector< double > > x2_ = Marshaling<std::vector< std::vector< double > >,std::vector< std::vector< double >* >*>::marshal(x2);
        std::vector< double > x3_ = Marshaling<std::vector< double >,std::vector< double >*>::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::interpolant(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;
    }
}


// ================== function "casadi::is_slice" ===============
// cppName: "casadi::is_slice"
// cWrapperName: "is_slice__0"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: CBool
// args: "(x0_)"
// cWrapperRetType: "int"
// proto: "int\n    is_slice__0(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: False
// fName: "is_slice"
// call: "        bool ret = casadi::is_slice(x0_);"
extern "C"
int
    is_slice__0(std::string ** err_msg, casadi::IM* x0);
int
    is_slice__0(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        bool ret = casadi::is_slice(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;
    }
}


// ================== function "casadi::is_slice" ===============
// cppName: "casadi::is_slice"
// cWrapperName: "is_slice__1"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, int x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False)]
// retType: CBool
// args: "(x0_, x1_)"
// cWrapperRetType: "int"
// proto: "int\n    is_slice__1(std::string ** err_msg, casadi::IM* x0, int x1)"
// friendWrap: False
// fName: "is_slice"
// call: "        bool ret = casadi::is_slice(x0_, x1_);"
extern "C"
int
    is_slice__1(std::string ** err_msg, casadi::IM* x0, int x1);
int
    is_slice__1(std::string ** err_msg, casadi::IM* x0, int x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

        bool ret = casadi::is_slice(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;
    }
}


// ================== function "casadi::is_slice" ===============
// cppName: "casadi::is_slice"
// cWrapperName: "is_slice__2"
// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0)"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: CBool
// args: "(x0_)"
// cWrapperRetType: "int"
// proto: "int\n    is_slice__2(std::string ** err_msg, std::vector< long long >* x0)"
// friendWrap: False
// fName: "is_slice"
// call: "        bool ret = casadi::is_slice(x0_);"
extern "C"
int
    is_slice__2(std::string ** err_msg, std::vector< long long >* x0);
int
    is_slice__2(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);

        bool ret = casadi::is_slice(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;
    }
}


// ================== function "casadi::is_slice" ===============
// cppName: "casadi::is_slice"
// cWrapperName: "is_slice__3"
// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0, int x1)"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
// retType: CBool
// args: "(x0_, x1_)"
// cWrapperRetType: "int"
// proto: "int\n    is_slice__3(std::string ** err_msg, std::vector< long long >* x0, int x1)"
// friendWrap: False
// fName: "is_slice"
// call: "        bool ret = casadi::is_slice(x0_, x1_);"
extern "C"
int
    is_slice__3(std::string ** err_msg, std::vector< long long >* x0, int x1);
int
    is_slice__3(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);

        bool ret = casadi::is_slice(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;
    }
}


// ================== function "casadi::is_slice2" ===============
// cppName: "casadi::is_slice2"
// cWrapperName: "is_slice2"
// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0)"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: CBool
// args: "(x0_)"
// cWrapperRetType: "int"
// proto: "int\n    is_slice2(std::string ** err_msg, std::vector< long long >* x0)"
// friendWrap: False
// fName: "is_slice2"
// call: "        bool ret = casadi::is_slice2(x0_);"
extern "C"
int
    is_slice2(std::string ** err_msg, std::vector< long long >* x0);
int
    is_slice2(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);

        bool ret = casadi::is_slice2(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;
    }
}


// ================== function "casadi::load_conic" ===============
// cppName: "casadi::load_conic"
// cWrapperName: "load_conic"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// params: [(Ref (Const StdString),SwigOutput False)]
// retType: CVoid
// args: "(x0_)"
// cWrapperRetType: "void"
// proto: "void\n    load_conic(std::string ** err_msg, std::string* x0)"
// friendWrap: False
// fName: "load_conic"
// call: "        casadi::load_conic(x0_);"
extern "C"
void
    load_conic(std::string ** err_msg, std::string* x0);
void
    load_conic(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

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

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


// ================== function "casadi::load_dple" ===============
// cppName: "casadi::load_dple"
// cWrapperName: "load_dple"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// params: [(Ref (Const StdString),SwigOutput False)]
// retType: CVoid
// args: "(x0_)"
// cWrapperRetType: "void"
// proto: "void\n    load_dple(std::string ** err_msg, std::string* x0)"
// friendWrap: False
// fName: "load_dple"
// call: "        casadi::load_dple(x0_);"
extern "C"
void
    load_dple(std::string ** err_msg, std::string* x0);
void
    load_dple(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

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

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


// ================== function "casadi::load_expm" ===============
// cppName: "casadi::load_expm"
// cWrapperName: "load_expm"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// params: [(Ref (Const StdString),SwigOutput False)]
// retType: CVoid
// args: "(x0_)"
// cWrapperRetType: "void"
// proto: "void\n    load_expm(std::string ** err_msg, std::string* x0)"
// friendWrap: False
// fName: "load_expm"
// call: "        casadi::load_expm(x0_);"
extern "C"
void
    load_expm(std::string ** err_msg, std::string* x0);
void
    load_expm(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

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

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


// ================== function "casadi::load_integrator" ===============
// cppName: "casadi::load_integrator"
// cWrapperName: "load_integrator"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// params: [(Ref (Const StdString),SwigOutput False)]
// retType: CVoid
// args: "(x0_)"
// cWrapperRetType: "void"
// proto: "void\n    load_integrator(std::string ** err_msg, std::string* x0)"
// friendWrap: False
// fName: "load_integrator"
// call: "        casadi::load_integrator(x0_);"
extern "C"
void
    load_integrator(std::string ** err_msg, std::string* x0);
void
    load_integrator(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

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

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


// ================== function "casadi::load_interpolant" ===============
// cppName: "casadi::load_interpolant"
// cWrapperName: "load_interpolant"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// params: [(Ref (Const StdString),SwigOutput False)]
// retType: CVoid
// args: "(x0_)"
// cWrapperRetType: "void"
// proto: "void\n    load_interpolant(std::string ** err_msg, std::string* x0)"
// friendWrap: False
// fName: "load_interpolant"
// call: "        casadi::load_interpolant(x0_);"
extern "C"
void
    load_interpolant(std::string ** err_msg, std::string* x0);
void
    load_interpolant(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

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

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


// ================== function "casadi::load_linsol" ===============
// cppName: "casadi::load_linsol"
// cWrapperName: "load_linsol"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// params: [(Ref (Const StdString),SwigOutput False)]
// retType: CVoid
// args: "(x0_)"
// cWrapperRetType: "void"
// proto: "void\n    load_linsol(std::string ** err_msg, std::string* x0)"
// friendWrap: False
// fName: "load_linsol"
// call: "        casadi::load_linsol(x0_);"
extern "C"
void
    load_linsol(std::string ** err_msg, std::string* x0);
void
    load_linsol(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

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

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


// ================== function "casadi::load_nlpsol" ===============
// cppName: "casadi::load_nlpsol"
// cWrapperName: "load_nlpsol"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// params: [(Ref (Const StdString),SwigOutput False)]
// retType: CVoid
// args: "(x0_)"
// cWrapperRetType: "void"
// proto: "void\n    load_nlpsol(std::string ** err_msg, std::string* x0)"
// friendWrap: False
// fName: "load_nlpsol"
// call: "        casadi::load_nlpsol(x0_);"
extern "C"
void
    load_nlpsol(std::string ** err_msg, std::string* x0);
void
    load_nlpsol(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

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

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


// ================== function "casadi::load_rootfinder" ===============
// cppName: "casadi::load_rootfinder"
// cWrapperName: "load_rootfinder"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// params: [(Ref (Const StdString),SwigOutput False)]
// retType: CVoid
// args: "(x0_)"
// cWrapperRetType: "void"
// proto: "void\n    load_rootfinder(std::string ** err_msg, std::string* x0)"
// friendWrap: False
// fName: "load_rootfinder"
// call: "        casadi::load_rootfinder(x0_);"
extern "C"
void
    load_rootfinder(std::string ** err_msg, std::string* x0);
void
    load_rootfinder(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

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

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


// ================== function "casadi::lookupvector" ===============
// cppName: "casadi::lookupvector"
// cWrapperName: "lookupvector__0"
// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0)"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: StdVec CLongLong
// args: "(x0_)"
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    lookupvector__0(std::string ** err_msg, std::vector< long long >* x0)"
// friendWrap: False
// fName: "lookupvector"
// call: "        std::vector< long long > ret = casadi::lookupvector(x0_);"
extern "C"
std::vector< long long >*
    lookupvector__0(std::string ** err_msg, std::vector< long long >* x0);
std::vector< long long >*
    lookupvector__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);

        std::vector< long long > ret = casadi::lookupvector(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;
    }
}


// ================== function "casadi::lookupvector" ===============
// cppName: "casadi::lookupvector"
// cWrapperName: "lookupvector__1"
// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0, long long x1)"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: StdVec CLongLong
// args: "(x0_, x1_)"
// cWrapperRetType: "std::vector< long long >*"
// proto: "std::vector< long long >*\n    lookupvector__1(std::string ** err_msg, std::vector< long long >* x0, long long x1)"
// friendWrap: False
// fName: "lookupvector"
// call: "        std::vector< long long > ret = casadi::lookupvector(x0_, x1_);"
extern "C"
std::vector< long long >*
    lookupvector__1(std::string ** err_msg, std::vector< long long >* x0, long long x1);
std::vector< long long >*
    lookupvector__1(std::string ** err_msg, std::vector< long long >* x0, long long x1){
    try {
        std::vector< long long > x0_ = Marshaling<std::vector< long long >,std::vector< long long >*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        std::vector< long long > ret = casadi::lookupvector(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;
    }
}


// ================== function "casadi::nlpsol" ===============
// cppName: "casadi::nlpsol"
// cWrapperName: "nlpsol__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::NlpBuilder* x2)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "NlpBuilder"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    nlpsol__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::NlpBuilder* x2)"
// friendWrap: False
// fName: "nlpsol"
// call: "        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_);"
extern "C"
casadi::Function*
    nlpsol__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::NlpBuilder* x2);
casadi::Function*
    nlpsol__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::NlpBuilder* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        casadi::NlpBuilder& x2_ = Marshaling<casadi::NlpBuilder&,casadi::NlpBuilder*>::marshal(x2);

        casadi::Function ret = casadi::nlpsol(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;
    }
}


// ================== function "casadi::nlpsol" ===============
// cppName: "casadi::nlpsol"
// cWrapperName: "nlpsol__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::NlpBuilder* x2, std::map< std::string, casadi::GenericType* >* x3)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "NlpBuilder"))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    nlpsol__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::NlpBuilder* x2, std::map< std::string, casadi::GenericType* >* x3)"
// friendWrap: False
// fName: "nlpsol"
// call: "        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_, x3_);"
extern "C"
casadi::Function*
    nlpsol__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::NlpBuilder* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::Function*
    nlpsol__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::NlpBuilder* 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::NlpBuilder& x2_ = Marshaling<casadi::NlpBuilder&,casadi::NlpBuilder*>::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::nlpsol(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;
    }
}


// ================== function "casadi::nlpsol" ===============
// cppName: "casadi::nlpsol"
// cWrapperName: "nlpsol__2"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Importer* x2)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Importer"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    nlpsol__2(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Importer* x2)"
// friendWrap: False
// fName: "nlpsol"
// call: "        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_);"
extern "C"
casadi::Function*
    nlpsol__2(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Importer* x2);
casadi::Function*
    nlpsol__2(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Importer* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        casadi::Importer& x2_ = Marshaling<casadi::Importer&,casadi::Importer*>::marshal(x2);

        casadi::Function ret = casadi::nlpsol(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;
    }
}


// ================== function "casadi::nlpsol" ===============
// cppName: "casadi::nlpsol"
// cWrapperName: "nlpsol__3"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Importer* x2, std::map< std::string, casadi::GenericType* >* x3)"
// params: [(Ref (Const StdString),SwigOutput False),(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)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    nlpsol__3(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Importer* x2, std::map< std::string, casadi::GenericType* >* x3)"
// friendWrap: False
// fName: "nlpsol"
// call: "        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_, x3_);"
extern "C"
casadi::Function*
    nlpsol__3(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Importer* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::Function*
    nlpsol__3(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Importer* 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::Importer& x2_ = Marshaling<casadi::Importer&,casadi::Importer*>::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::nlpsol(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;
    }
}


// ================== function "casadi::nlpsol" ===============
// cppName: "casadi::nlpsol"
// cWrapperName: "nlpsol__4"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::string* x2)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    nlpsol__4(std::string ** err_msg, std::string* x0, std::string* x1, std::string* x2)"
// friendWrap: False
// fName: "nlpsol"
// call: "        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_);"
extern "C"
casadi::Function*
    nlpsol__4(std::string ** err_msg, std::string* x0, std::string* x1, std::string* x2);
casadi::Function*
    nlpsol__4(std::string ** err_msg, std::string* x0, std::string* x1, std::string* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        std::string& x2_ = Marshaling<std::string&,std::string*>::marshal(x2);

        casadi::Function ret = casadi::nlpsol(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;
    }
}


// ================== function "casadi::nlpsol" ===============
// cppName: "casadi::nlpsol"
// cWrapperName: "nlpsol__5"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    nlpsol__5(std::string ** err_msg, std::string* x0, std::string* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3)"
// friendWrap: False
// fName: "nlpsol"
// call: "        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_, x3_);"
extern "C"
casadi::Function*
    nlpsol__5(std::string ** err_msg, std::string* x0, std::string* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::Function*
    nlpsol__5(std::string ** err_msg, std::string* x0, std::string* x1, std::string* 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);
        std::string& x2_ = Marshaling<std::string&,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 = casadi::nlpsol(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;
    }
}


// ================== function "casadi::nlpsol" ===============
// cppName: "casadi::nlpsol"
// cWrapperName: "nlpsol__6"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    nlpsol__6(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2)"
// friendWrap: False
// fName: "nlpsol"
// call: "        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_);"
extern "C"
casadi::Function*
    nlpsol__6(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2);
casadi::Function*
    nlpsol__6(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* 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::MX > x2_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x2);

        casadi::Function ret = casadi::nlpsol(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;
    }
}


// ================== function "casadi::nlpsol" ===============
// cppName: "casadi::nlpsol"
// cWrapperName: "nlpsol__7"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    nlpsol__7(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// friendWrap: False
// fName: "nlpsol"
// call: "        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_, x3_);"
extern "C"
casadi::Function*
    nlpsol__7(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::Function*
    nlpsol__7(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* 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);
        std::map< std::string, casadi::MX > x2_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, 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::nlpsol(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;
    }
}


// ================== function "casadi::nlpsol" ===============
// cppName: "casadi::nlpsol"
// cWrapperName: "nlpsol__8"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    nlpsol__8(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2)"
// friendWrap: False
// fName: "nlpsol"
// call: "        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_);"
extern "C"
casadi::Function*
    nlpsol__8(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2);
casadi::Function*
    nlpsol__8(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* 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::SX > x2_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x2);

        casadi::Function ret = casadi::nlpsol(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;
    }
}


// ================== function "casadi::nlpsol" ===============
// cppName: "casadi::nlpsol"
// cWrapperName: "nlpsol__9"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    nlpsol__9(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// friendWrap: False
// fName: "nlpsol"
// call: "        casadi::Function ret = casadi::nlpsol(x0_, x1_, x2_, x3_);"
extern "C"
casadi::Function*
    nlpsol__9(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::Function*
    nlpsol__9(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* 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);
        std::map< std::string, casadi::SX > x2_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, 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::nlpsol(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;
    }
}


// ================== function "casadi::nlpsol_default_in" ===============
// cppName: "casadi::nlpsol_default_in"
// cWrapperName: "nlpsol_default_in__0"
// protoArgs: "(std::string ** err_msg)"
// params: []
// retType: StdVec CDouble
// args: "()"
// cWrapperRetType: "std::vector< double >*"
// proto: "std::vector< double >*\n    nlpsol_default_in__0(std::string ** err_msg)"
// friendWrap: False
// fName: "nlpsol_default_in"
// call: "        std::vector< double > ret = casadi::nlpsol_default_in();"
extern "C"
std::vector< double >*
    nlpsol_default_in__0(std::string ** err_msg);
std::vector< double >*
    nlpsol_default_in__0(std::string ** err_msg){
    try {

        std::vector< double > ret = casadi::nlpsol_default_in();

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


// ================== function "casadi::nlpsol_default_in" ===============
// cppName: "casadi::nlpsol_default_in"
// cWrapperName: "nlpsol_default_in__1"
// protoArgs: "(std::string ** err_msg, long long x0)"
// params: [(CLongLong,SwigOutput False)]
// retType: CDouble
// args: "(x0_)"
// cWrapperRetType: "double"
// proto: "double\n    nlpsol_default_in__1(std::string ** err_msg, long long x0)"
// friendWrap: False
// fName: "nlpsol_default_in"
// call: "        double ret = casadi::nlpsol_default_in(x0_);"
extern "C"
double
    nlpsol_default_in__1(std::string ** err_msg, long long x0);
double
    nlpsol_default_in__1(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        double ret = casadi::nlpsol_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;
    }
}


// ================== function "casadi::nlpsol_in" ===============
// cppName: "casadi::nlpsol_in"
// cWrapperName: "nlpsol_in__0"
// protoArgs: "(std::string ** err_msg, long long x0)"
// params: [(CLongLong,SwigOutput False)]
// retType: StdString
// args: "(x0_)"
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    nlpsol_in__0(std::string ** err_msg, long long x0)"
// friendWrap: False
// fName: "nlpsol_in"
// call: "        std::string ret = casadi::nlpsol_in(x0_);"
extern "C"
std::string*
    nlpsol_in__0(std::string ** err_msg, long long x0);
std::string*
    nlpsol_in__0(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        std::string ret = casadi::nlpsol_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;
    }
}


// ================== function "casadi::nlpsol_in" ===============
// cppName: "casadi::nlpsol_in"
// cWrapperName: "nlpsol_in__1"
// protoArgs: "(std::string ** err_msg)"
// params: []
// retType: StdVec StdString
// args: "()"
// cWrapperRetType: "std::vector< std::string* >*"
// proto: "std::vector< std::string* >*\n    nlpsol_in__1(std::string ** err_msg)"
// friendWrap: False
// fName: "nlpsol_in"
// call: "        std::vector< std::string > ret = casadi::nlpsol_in();"
extern "C"
std::vector< std::string* >*
    nlpsol_in__1(std::string ** err_msg);
std::vector< std::string* >*
    nlpsol_in__1(std::string ** err_msg){
    try {

        std::vector< std::string > ret = casadi::nlpsol_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;
    }
}


// ================== function "casadi::nlpsol_n_in" ===============
// cppName: "casadi::nlpsol_n_in"
// cWrapperName: "nlpsol_n_in"
// protoArgs: "(std::string ** err_msg)"
// params: []
// retType: CLongLong
// args: "()"
// cWrapperRetType: "long long"
// proto: "long long\n    nlpsol_n_in(std::string ** err_msg)"
// friendWrap: False
// fName: "nlpsol_n_in"
// call: "        long long ret = casadi::nlpsol_n_in();"
extern "C"
long long
    nlpsol_n_in(std::string ** err_msg);
long long
    nlpsol_n_in(std::string ** err_msg){
    try {

        long long ret = casadi::nlpsol_n_in();

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


// ================== function "casadi::nlpsol_n_out" ===============
// cppName: "casadi::nlpsol_n_out"
// cWrapperName: "nlpsol_n_out"
// protoArgs: "(std::string ** err_msg)"
// params: []
// retType: CLongLong
// args: "()"
// cWrapperRetType: "long long"
// proto: "long long\n    nlpsol_n_out(std::string ** err_msg)"
// friendWrap: False
// fName: "nlpsol_n_out"
// call: "        long long ret = casadi::nlpsol_n_out();"
extern "C"
long long
    nlpsol_n_out(std::string ** err_msg);
long long
    nlpsol_n_out(std::string ** err_msg){
    try {

        long long ret = casadi::nlpsol_n_out();

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


// ================== function "casadi::nlpsol_option_info" ===============
// cppName: "casadi::nlpsol_option_info"
// cWrapperName: "nlpsol_option_info"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: StdString
// args: "(x0_, x1_)"
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    nlpsol_option_info(std::string ** err_msg, std::string* x0, std::string* x1)"
// friendWrap: False
// fName: "nlpsol_option_info"
// call: "        std::string ret = casadi::nlpsol_option_info(x0_, x1_);"
extern "C"
std::string*
    nlpsol_option_info(std::string ** err_msg, std::string* x0, std::string* x1);
std::string*
    nlpsol_option_info(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);

        std::string ret = casadi::nlpsol_option_info(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;
    }
}


// ================== function "casadi::nlpsol_option_type" ===============
// cppName: "casadi::nlpsol_option_type"
// cWrapperName: "nlpsol_option_type"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: StdString
// args: "(x0_, x1_)"
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    nlpsol_option_type(std::string ** err_msg, std::string* x0, std::string* x1)"
// friendWrap: False
// fName: "nlpsol_option_type"
// call: "        std::string ret = casadi::nlpsol_option_type(x0_, x1_);"
extern "C"
std::string*
    nlpsol_option_type(std::string ** err_msg, std::string* x0, std::string* x1);
std::string*
    nlpsol_option_type(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);

        std::string ret = casadi::nlpsol_option_type(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;
    }
}


// ================== function "casadi::nlpsol_options" ===============
// cppName: "casadi::nlpsol_options"
// cWrapperName: "nlpsol_options"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// params: [(Ref (Const StdString),SwigOutput False)]
// retType: StdVec StdString
// args: "(x0_)"
// cWrapperRetType: "std::vector< std::string* >*"
// proto: "std::vector< std::string* >*\n    nlpsol_options(std::string ** err_msg, std::string* x0)"
// friendWrap: False
// fName: "nlpsol_options"
// call: "        std::vector< std::string > ret = casadi::nlpsol_options(x0_);"
extern "C"
std::vector< std::string* >*
    nlpsol_options(std::string ** err_msg, std::string* x0);
std::vector< std::string* >*
    nlpsol_options(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

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

        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;
    }
}


// ================== function "casadi::nlpsol_out" ===============
// cppName: "casadi::nlpsol_out"
// cWrapperName: "nlpsol_out__0"
// protoArgs: "(std::string ** err_msg, long long x0)"
// params: [(CLongLong,SwigOutput False)]
// retType: StdString
// args: "(x0_)"
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    nlpsol_out__0(std::string ** err_msg, long long x0)"
// friendWrap: False
// fName: "nlpsol_out"
// call: "        std::string ret = casadi::nlpsol_out(x0_);"
extern "C"
std::string*
    nlpsol_out__0(std::string ** err_msg, long long x0);
std::string*
    nlpsol_out__0(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        std::string ret = casadi::nlpsol_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;
    }
}


// ================== function "casadi::nlpsol_out" ===============
// cppName: "casadi::nlpsol_out"
// cWrapperName: "nlpsol_out__1"
// protoArgs: "(std::string ** err_msg)"
// params: []
// retType: StdVec StdString
// args: "()"
// cWrapperRetType: "std::vector< std::string* >*"
// proto: "std::vector< std::string* >*\n    nlpsol_out__1(std::string ** err_msg)"
// friendWrap: False
// fName: "nlpsol_out"
// call: "        std::vector< std::string > ret = casadi::nlpsol_out();"
extern "C"
std::vector< std::string* >*
    nlpsol_out__1(std::string ** err_msg);
std::vector< std::string* >*
    nlpsol_out__1(std::string ** err_msg){
    try {

        std::vector< std::string > ret = casadi::nlpsol_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;
    }
}


// ================== function "casadi::qpsol" ===============
// cppName: "casadi::qpsol"
// cWrapperName: "qpsol__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    qpsol__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2)"
// friendWrap: False
// fName: "qpsol"
// call: "        casadi::Function ret = casadi::qpsol(x0_, x1_, x2_);"
extern "C"
casadi::Function*
    qpsol__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2);
casadi::Function*
    qpsol__0(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* 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::MX > x2_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x2);

        casadi::Function ret = casadi::qpsol(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;
    }
}


// ================== function "casadi::qpsol" ===============
// cppName: "casadi::qpsol"
// cWrapperName: "qpsol__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    qpsol__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// friendWrap: False
// fName: "qpsol"
// call: "        casadi::Function ret = casadi::qpsol(x0_, x1_, x2_, x3_);"
extern "C"
casadi::Function*
    qpsol__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::Function*
    qpsol__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* 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);
        std::map< std::string, casadi::MX > x2_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, 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::qpsol(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;
    }
}


// ================== function "casadi::qpsol" ===============
// cppName: "casadi::qpsol"
// cWrapperName: "qpsol__2"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    qpsol__2(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2)"
// friendWrap: False
// fName: "qpsol"
// call: "        casadi::Function ret = casadi::qpsol(x0_, x1_, x2_);"
extern "C"
casadi::Function*
    qpsol__2(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2);
casadi::Function*
    qpsol__2(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* 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::SX > x2_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x2);

        casadi::Function ret = casadi::qpsol(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;
    }
}


// ================== function "casadi::qpsol" ===============
// cppName: "casadi::qpsol"
// cWrapperName: "qpsol__3"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    qpsol__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// friendWrap: False
// fName: "qpsol"
// call: "        casadi::Function ret = casadi::qpsol(x0_, x1_, x2_, x3_);"
extern "C"
casadi::Function*
    qpsol__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::Function*
    qpsol__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* 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);
        std::map< std::string, casadi::SX > x2_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, 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::qpsol(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;
    }
}


// ================== function "casadi::rootfinder" ===============
// cppName: "casadi::rootfinder"
// cWrapperName: "rootfinder__0"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    rootfinder__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2)"
// friendWrap: False
// fName: "rootfinder"
// call: "        casadi::Function ret = casadi::rootfinder(x0_, x1_, x2_);"
extern "C"
casadi::Function*
    rootfinder__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2);
casadi::Function*
    rootfinder__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
        casadi::Function& x2_ = Marshaling<casadi::Function&,casadi::Function*>::marshal(x2);

        casadi::Function ret = casadi::rootfinder(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;
    }
}


// ================== function "casadi::rootfinder" ===============
// cppName: "casadi::rootfinder"
// cWrapperName: "rootfinder__1"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    rootfinder__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3)"
// friendWrap: False
// fName: "rootfinder"
// call: "        casadi::Function ret = casadi::rootfinder(x0_, x1_, x2_, x3_);"
extern "C"
casadi::Function*
    rootfinder__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::Function*
    rootfinder__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* 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::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::rootfinder(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;
    }
}


// ================== function "casadi::rootfinder" ===============
// cppName: "casadi::rootfinder"
// cWrapperName: "rootfinder__2"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    rootfinder__2(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2)"
// friendWrap: False
// fName: "rootfinder"
// call: "        casadi::Function ret = casadi::rootfinder(x0_, x1_, x2_);"
extern "C"
casadi::Function*
    rootfinder__2(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2);
casadi::Function*
    rootfinder__2(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* 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::MX > x2_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, casadi::MX* >*>::marshal(x2);

        casadi::Function ret = casadi::rootfinder(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;
    }
}


// ================== function "casadi::rootfinder" ===============
// cppName: "casadi::rootfinder"
// cWrapperName: "rootfinder__3"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    rootfinder__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// friendWrap: False
// fName: "rootfinder"
// call: "        casadi::Function ret = casadi::rootfinder(x0_, x1_, x2_, x3_);"
extern "C"
casadi::Function*
    rootfinder__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::Function*
    rootfinder__3(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* 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);
        std::map< std::string, casadi::MX > x2_ = Marshaling<std::map< std::string, casadi::MX >,std::map< std::string, 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::rootfinder(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;
    }
}


// ================== function "casadi::rootfinder" ===============
// cppName: "casadi::rootfinder"
// cWrapperName: "rootfinder__4"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    rootfinder__4(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2)"
// friendWrap: False
// fName: "rootfinder"
// call: "        casadi::Function ret = casadi::rootfinder(x0_, x1_, x2_);"
extern "C"
casadi::Function*
    rootfinder__4(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2);
casadi::Function*
    rootfinder__4(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* 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::SX > x2_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, casadi::SX* >*>::marshal(x2);

        casadi::Function ret = casadi::rootfinder(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;
    }
}


// ================== function "casadi::rootfinder" ===============
// cppName: "casadi::rootfinder"
// cWrapperName: "rootfinder__5"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    rootfinder__5(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
// friendWrap: False
// fName: "rootfinder"
// call: "        casadi::Function ret = casadi::rootfinder(x0_, x1_, x2_, x3_);"
extern "C"
casadi::Function*
    rootfinder__5(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2, std::map< std::string, casadi::GenericType* >* x3);
casadi::Function*
    rootfinder__5(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* 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);
        std::map< std::string, casadi::SX > x2_ = Marshaling<std::map< std::string, casadi::SX >,std::map< std::string, 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::rootfinder(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;
    }
}


// ================== function "casadi::rootfinder_in" ===============
// cppName: "casadi::rootfinder_in"
// cWrapperName: "rootfinder_in__0"
// protoArgs: "(std::string ** err_msg, long long x0)"
// params: [(CLongLong,SwigOutput False)]
// retType: StdString
// args: "(x0_)"
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    rootfinder_in__0(std::string ** err_msg, long long x0)"
// friendWrap: False
// fName: "rootfinder_in"
// call: "        std::string ret = casadi::rootfinder_in(x0_);"
extern "C"
std::string*
    rootfinder_in__0(std::string ** err_msg, long long x0);
std::string*
    rootfinder_in__0(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        std::string ret = casadi::rootfinder_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;
    }
}


// ================== function "casadi::rootfinder_in" ===============
// cppName: "casadi::rootfinder_in"
// cWrapperName: "rootfinder_in__1"
// protoArgs: "(std::string ** err_msg)"
// params: []
// retType: StdVec StdString
// args: "()"
// cWrapperRetType: "std::vector< std::string* >*"
// proto: "std::vector< std::string* >*\n    rootfinder_in__1(std::string ** err_msg)"
// friendWrap: False
// fName: "rootfinder_in"
// call: "        std::vector< std::string > ret = casadi::rootfinder_in();"
extern "C"
std::vector< std::string* >*
    rootfinder_in__1(std::string ** err_msg);
std::vector< std::string* >*
    rootfinder_in__1(std::string ** err_msg){
    try {

        std::vector< std::string > ret = casadi::rootfinder_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;
    }
}


// ================== function "casadi::rootfinder_n_in" ===============
// cppName: "casadi::rootfinder_n_in"
// cWrapperName: "rootfinder_n_in"
// protoArgs: "(std::string ** err_msg)"
// params: []
// retType: CLongLong
// args: "()"
// cWrapperRetType: "long long"
// proto: "long long\n    rootfinder_n_in(std::string ** err_msg)"
// friendWrap: False
// fName: "rootfinder_n_in"
// call: "        long long ret = casadi::rootfinder_n_in();"
extern "C"
long long
    rootfinder_n_in(std::string ** err_msg);
long long
    rootfinder_n_in(std::string ** err_msg){
    try {

        long long ret = casadi::rootfinder_n_in();

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


// ================== function "casadi::rootfinder_n_out" ===============
// cppName: "casadi::rootfinder_n_out"
// cWrapperName: "rootfinder_n_out"
// protoArgs: "(std::string ** err_msg)"
// params: []
// retType: CLongLong
// args: "()"
// cWrapperRetType: "long long"
// proto: "long long\n    rootfinder_n_out(std::string ** err_msg)"
// friendWrap: False
// fName: "rootfinder_n_out"
// call: "        long long ret = casadi::rootfinder_n_out();"
extern "C"
long long
    rootfinder_n_out(std::string ** err_msg);
long long
    rootfinder_n_out(std::string ** err_msg){
    try {

        long long ret = casadi::rootfinder_n_out();

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


// ================== function "casadi::rootfinder_option_info" ===============
// cppName: "casadi::rootfinder_option_info"
// cWrapperName: "rootfinder_option_info"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: StdString
// args: "(x0_, x1_)"
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    rootfinder_option_info(std::string ** err_msg, std::string* x0, std::string* x1)"
// friendWrap: False
// fName: "rootfinder_option_info"
// call: "        std::string ret = casadi::rootfinder_option_info(x0_, x1_);"
extern "C"
std::string*
    rootfinder_option_info(std::string ** err_msg, std::string* x0, std::string* x1);
std::string*
    rootfinder_option_info(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);

        std::string ret = casadi::rootfinder_option_info(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;
    }
}


// ================== function "casadi::rootfinder_option_type" ===============
// cppName: "casadi::rootfinder_option_type"
// cWrapperName: "rootfinder_option_type"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: StdString
// args: "(x0_, x1_)"
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    rootfinder_option_type(std::string ** err_msg, std::string* x0, std::string* x1)"
// friendWrap: False
// fName: "rootfinder_option_type"
// call: "        std::string ret = casadi::rootfinder_option_type(x0_, x1_);"
extern "C"
std::string*
    rootfinder_option_type(std::string ** err_msg, std::string* x0, std::string* x1);
std::string*
    rootfinder_option_type(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);

        std::string ret = casadi::rootfinder_option_type(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;
    }
}


// ================== function "casadi::rootfinder_options" ===============
// cppName: "casadi::rootfinder_options"
// cWrapperName: "rootfinder_options"
// protoArgs: "(std::string ** err_msg, std::string* x0)"
// params: [(Ref (Const StdString),SwigOutput False)]
// retType: StdVec StdString
// args: "(x0_)"
// cWrapperRetType: "std::vector< std::string* >*"
// proto: "std::vector< std::string* >*\n    rootfinder_options(std::string ** err_msg, std::string* x0)"
// friendWrap: False
// fName: "rootfinder_options"
// call: "        std::vector< std::string > ret = casadi::rootfinder_options(x0_);"
extern "C"
std::vector< std::string* >*
    rootfinder_options(std::string ** err_msg, std::string* x0);
std::vector< std::string* >*
    rootfinder_options(std::string ** err_msg, std::string* x0){
    try {
        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);

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

        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;
    }
}


// ================== function "casadi::rootfinder_out" ===============
// cppName: "casadi::rootfinder_out"
// cWrapperName: "rootfinder_out__0"
// protoArgs: "(std::string ** err_msg, long long x0)"
// params: [(CLongLong,SwigOutput False)]
// retType: StdString
// args: "(x0_)"
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    rootfinder_out__0(std::string ** err_msg, long long x0)"
// friendWrap: False
// fName: "rootfinder_out"
// call: "        std::string ret = casadi::rootfinder_out(x0_);"
extern "C"
std::string*
    rootfinder_out__0(std::string ** err_msg, long long x0);
std::string*
    rootfinder_out__0(std::string ** err_msg, long long x0){
    try {
        long long x0_ = Marshaling<long long,long long>::marshal(x0);

        std::string ret = casadi::rootfinder_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;
    }
}


// ================== function "casadi::rootfinder_out" ===============
// cppName: "casadi::rootfinder_out"
// cWrapperName: "rootfinder_out__1"
// protoArgs: "(std::string ** err_msg)"
// params: []
// retType: StdVec StdString
// args: "()"
// cWrapperRetType: "std::vector< std::string* >*"
// proto: "std::vector< std::string* >*\n    rootfinder_out__1(std::string ** err_msg)"
// friendWrap: False
// fName: "rootfinder_out"
// call: "        std::vector< std::string > ret = casadi::rootfinder_out();"
extern "C"
std::vector< std::string* >*
    rootfinder_out__1(std::string ** err_msg);
std::vector< std::string* >*
    rootfinder_out__1(std::string ** err_msg){
    try {

        std::vector< std::string > ret = casadi::rootfinder_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;
    }
}


// ================== function "casadi::simpleIRK" ===============
// cppName: "casadi::simpleIRK"
// cWrapperName: "simpleIRK__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    simpleIRK__0(std::string ** err_msg, casadi::Function* x0)"
// friendWrap: False
// fName: "simpleIRK"
// call: "        casadi::Function ret = casadi::simpleIRK(x0_);"
extern "C"
casadi::Function*
    simpleIRK__0(std::string ** err_msg, casadi::Function* x0);
casadi::Function*
    simpleIRK__0(std::string ** err_msg, casadi::Function* x0){
    try {
        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);

        casadi::Function ret = casadi::simpleIRK(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;
    }
}


// ================== function "casadi::simpleIRK" ===============
// cppName: "casadi::simpleIRK"
// cWrapperName: "simpleIRK__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* x0, long long x1)"
// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    simpleIRK__1(std::string ** err_msg, casadi::Function* x0, long long x1)"
// friendWrap: False
// fName: "simpleIRK"
// call: "        casadi::Function ret = casadi::simpleIRK(x0_, x1_);"
extern "C"
casadi::Function*
    simpleIRK__1(std::string ** err_msg, casadi::Function* x0, long long x1);
casadi::Function*
    simpleIRK__1(std::string ** err_msg, casadi::Function* x0, long long x1){
    try {
        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::Function ret = casadi::simpleIRK(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;
    }
}


// ================== function "casadi::simpleIRK" ===============
// cppName: "casadi::simpleIRK"
// cWrapperName: "simpleIRK__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2)"
// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    simpleIRK__2(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2)"
// friendWrap: False
// fName: "simpleIRK"
// call: "        casadi::Function ret = casadi::simpleIRK(x0_, x1_, x2_);"
extern "C"
casadi::Function*
    simpleIRK__2(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2);
casadi::Function*
    simpleIRK__2(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2){
    try {
        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::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 = casadi::simpleIRK(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;
    }
}


// ================== function "casadi::simpleIRK" ===============
// cppName: "casadi::simpleIRK"
// cWrapperName: "simpleIRK__3"
// protoArgs: "(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2, std::string* x3)"
// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_, x3_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    simpleIRK__3(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2, std::string* x3)"
// friendWrap: False
// fName: "simpleIRK"
// call: "        casadi::Function ret = casadi::simpleIRK(x0_, x1_, x2_, x3_);"
extern "C"
casadi::Function*
    simpleIRK__3(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2, std::string* x3);
casadi::Function*
    simpleIRK__3(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2, std::string* x3){
    try {
        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);
        std::string& x3_ = Marshaling<std::string&,std::string*>::marshal(x3);

        casadi::Function ret = casadi::simpleIRK(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;
    }
}


// ================== function "casadi::simpleIRK" ===============
// cppName: "casadi::simpleIRK"
// cWrapperName: "simpleIRK__4"
// protoArgs: "(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2, std::string* x3, std::string* x4)"
// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_, x3_, x4_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    simpleIRK__4(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2, std::string* x3, std::string* x4)"
// friendWrap: False
// fName: "simpleIRK"
// call: "        casadi::Function ret = casadi::simpleIRK(x0_, x1_, x2_, x3_, x4_);"
extern "C"
casadi::Function*
    simpleIRK__4(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2, std::string* x3, std::string* x4);
casadi::Function*
    simpleIRK__4(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2, std::string* x3, std::string* x4){
    try {
        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);
        std::string& x3_ = Marshaling<std::string&,std::string*>::marshal(x3);
        std::string& x4_ = Marshaling<std::string&,std::string*>::marshal(x4);

        casadi::Function ret = casadi::simpleIRK(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;
    }
}


// ================== function "casadi::simpleIRK" ===============
// cppName: "casadi::simpleIRK"
// cWrapperName: "simpleIRK__5"
// protoArgs: "(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2, std::string* x3, std::string* x4, std::map< std::string, casadi::GenericType* >* x5)"
// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    simpleIRK__5(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2, std::string* x3, std::string* x4, std::map< std::string, casadi::GenericType* >* x5)"
// friendWrap: False
// fName: "simpleIRK"
// call: "        casadi::Function ret = casadi::simpleIRK(x0_, x1_, x2_, x3_, x4_, x5_);"
extern "C"
casadi::Function*
    simpleIRK__5(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2, std::string* x3, std::string* x4, std::map< std::string, casadi::GenericType* >* x5);
casadi::Function*
    simpleIRK__5(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2, std::string* x3, std::string* x4, std::map< std::string, casadi::GenericType* >* x5){
    try {
        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);
        long long x2_ = Marshaling<long long,long long>::marshal(x2);
        std::string& x3_ = Marshaling<std::string&,std::string*>::marshal(x3);
        std::string& x4_ = Marshaling<std::string&,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::simpleIRK(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;
    }
}


// ================== function "casadi::simpleIntegrator" ===============
// cppName: "casadi::simpleIntegrator"
// cWrapperName: "simpleIntegrator__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    simpleIntegrator__0(std::string ** err_msg, casadi::Function* x0)"
// friendWrap: False
// fName: "simpleIntegrator"
// call: "        casadi::Function ret = casadi::simpleIntegrator(x0_);"
extern "C"
casadi::Function*
    simpleIntegrator__0(std::string ** err_msg, casadi::Function* x0);
casadi::Function*
    simpleIntegrator__0(std::string ** err_msg, casadi::Function* x0){
    try {
        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);

        casadi::Function ret = casadi::simpleIntegrator(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;
    }
}


// ================== function "casadi::simpleIntegrator" ===============
// cppName: "casadi::simpleIntegrator"
// cWrapperName: "simpleIntegrator__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    simpleIntegrator__1(std::string ** err_msg, casadi::Function* x0, std::string* x1)"
// friendWrap: False
// fName: "simpleIntegrator"
// call: "        casadi::Function ret = casadi::simpleIntegrator(x0_, x1_);"
extern "C"
casadi::Function*
    simpleIntegrator__1(std::string ** err_msg, casadi::Function* x0, std::string* x1);
casadi::Function*
    simpleIntegrator__1(std::string ** err_msg, casadi::Function* x0, std::string* x1){
    try {
        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);
        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);

        casadi::Function ret = casadi::simpleIntegrator(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;
    }
}


// ================== function "casadi::simpleIntegrator" ===============
// cppName: "casadi::simpleIntegrator"
// cWrapperName: "simpleIntegrator__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    simpleIntegrator__2(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
// friendWrap: False
// fName: "simpleIntegrator"
// call: "        casadi::Function ret = casadi::simpleIntegrator(x0_, x1_, x2_);"
extern "C"
casadi::Function*
    simpleIntegrator__2(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2);
casadi::Function*
    simpleIntegrator__2(std::string ** err_msg, casadi::Function* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2){
    try {
        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::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::Function ret = casadi::simpleIntegrator(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;
    }
}


// ================== function "casadi::simpleRK" ===============
// cppName: "casadi::simpleRK"
// cWrapperName: "simpleRK__0"
// protoArgs: "(std::string ** err_msg, casadi::Function* x0)"
// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    simpleRK__0(std::string ** err_msg, casadi::Function* x0)"
// friendWrap: False
// fName: "simpleRK"
// call: "        casadi::Function ret = casadi::simpleRK(x0_);"
extern "C"
casadi::Function*
    simpleRK__0(std::string ** err_msg, casadi::Function* x0);
casadi::Function*
    simpleRK__0(std::string ** err_msg, casadi::Function* x0){
    try {
        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);

        casadi::Function ret = casadi::simpleRK(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;
    }
}


// ================== function "casadi::simpleRK" ===============
// cppName: "casadi::simpleRK"
// cWrapperName: "simpleRK__1"
// protoArgs: "(std::string ** err_msg, casadi::Function* x0, long long x1)"
// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    simpleRK__1(std::string ** err_msg, casadi::Function* x0, long long x1)"
// friendWrap: False
// fName: "simpleRK"
// call: "        casadi::Function ret = casadi::simpleRK(x0_, x1_);"
extern "C"
casadi::Function*
    simpleRK__1(std::string ** err_msg, casadi::Function* x0, long long x1);
casadi::Function*
    simpleRK__1(std::string ** err_msg, casadi::Function* x0, long long x1){
    try {
        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::marshal(x0);
        long long x1_ = Marshaling<long long,long long>::marshal(x1);

        casadi::Function ret = casadi::simpleRK(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;
    }
}


// ================== function "casadi::simpleRK" ===============
// cppName: "casadi::simpleRK"
// cWrapperName: "simpleRK__2"
// protoArgs: "(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2)"
// params: [(UserType (Namespace ["casadi"]) (Name "Function"),SwigOutput False),(CLongLong,SwigOutput False),(CLongLong,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Function")
// args: "(x0_, x1_, x2_)"
// cWrapperRetType: "casadi::Function*"
// proto: "casadi::Function*\n    simpleRK__2(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2)"
// friendWrap: False
// fName: "simpleRK"
// call: "        casadi::Function ret = casadi::simpleRK(x0_, x1_, x2_);"
extern "C"
casadi::Function*
    simpleRK__2(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2);
casadi::Function*
    simpleRK__2(std::string ** err_msg, casadi::Function* x0, long long x1, long long x2){
    try {
        casadi::Function x0_ = Marshaling<casadi::Function,casadi::Function*>::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 = casadi::simpleRK(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;
    }
}


// ================== function "casadi::temporary_file" ===============
// cppName: "casadi::temporary_file"
// cWrapperName: "temporary_file"
// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1)"
// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
// retType: StdString
// args: "(x0_, x1_)"
// cWrapperRetType: "std::string*"
// proto: "std::string*\n    temporary_file(std::string ** err_msg, std::string* x0, std::string* x1)"
// friendWrap: False
// fName: "temporary_file"
// call: "        std::string ret = casadi::temporary_file(x0_, x1_);"
extern "C"
std::string*
    temporary_file(std::string ** err_msg, std::string* x0, std::string* x1);
std::string*
    temporary_file(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);

        std::string ret = casadi::temporary_file(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;
    }
}


// ================== function "casadi::to_slice" ===============
// cppName: "casadi::to_slice"
// cWrapperName: "to_slice__0"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Slice")
// args: "(x0_)"
// cWrapperRetType: "casadi::Slice*"
// proto: "casadi::Slice*\n    to_slice__0(std::string ** err_msg, casadi::IM* x0)"
// friendWrap: False
// fName: "to_slice"
// call: "        casadi::Slice ret = casadi::to_slice(x0_);"
extern "C"
casadi::Slice*
    to_slice__0(std::string ** err_msg, casadi::IM* x0);
casadi::Slice*
    to_slice__0(std::string ** err_msg, casadi::IM* x0){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);

        casadi::Slice ret = casadi::to_slice(x0_);
        // x0 is not a swig output

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


// ================== function "casadi::to_slice" ===============
// cppName: "casadi::to_slice"
// cWrapperName: "to_slice__1"
// protoArgs: "(std::string ** err_msg, casadi::IM* x0, int x1)"
// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "IM"))),SwigOutput False),(CBool,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Slice")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::Slice*"
// proto: "casadi::Slice*\n    to_slice__1(std::string ** err_msg, casadi::IM* x0, int x1)"
// friendWrap: False
// fName: "to_slice"
// call: "        casadi::Slice ret = casadi::to_slice(x0_, x1_);"
extern "C"
casadi::Slice*
    to_slice__1(std::string ** err_msg, casadi::IM* x0, int x1);
casadi::Slice*
    to_slice__1(std::string ** err_msg, casadi::IM* x0, int x1){
    try {
        casadi::IM& x0_ = Marshaling<casadi::IM&,casadi::IM*>::marshal(x0);
        bool x1_ = Marshaling<bool,int>::marshal(x1);

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

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


// ================== function "casadi::to_slice" ===============
// cppName: "casadi::to_slice"
// cWrapperName: "to_slice__2"
// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0)"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Slice")
// args: "(x0_)"
// cWrapperRetType: "casadi::Slice*"
// proto: "casadi::Slice*\n    to_slice__2(std::string ** err_msg, std::vector< long long >* x0)"
// friendWrap: False
// fName: "to_slice"
// call: "        casadi::Slice ret = casadi::to_slice(x0_);"
extern "C"
casadi::Slice*
    to_slice__2(std::string ** err_msg, std::vector< long long >* x0);
casadi::Slice*
    to_slice__2(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::Slice ret = casadi::to_slice(x0_);
        // x0 is not a swig output

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


// ================== function "casadi::to_slice" ===============
// cppName: "casadi::to_slice"
// cWrapperName: "to_slice__3"
// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0, int x1)"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False),(CBool,SwigOutput False)]
// retType: UserType (Namespace ["casadi"]) (Name "Slice")
// args: "(x0_, x1_)"
// cWrapperRetType: "casadi::Slice*"
// proto: "casadi::Slice*\n    to_slice__3(std::string ** err_msg, std::vector< long long >* x0, int x1)"
// friendWrap: False
// fName: "to_slice"
// call: "        casadi::Slice ret = casadi::to_slice(x0_, x1_);"
extern "C"
casadi::Slice*
    to_slice__3(std::string ** err_msg, std::vector< long long >* x0, int x1);
casadi::Slice*
    to_slice__3(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::Slice ret = casadi::to_slice(x0_, x1_);
        // x0 is not a swig output
        // x1 is not a swig output

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


// ================== function "casadi::to_slice2" ===============
// cppName: "casadi::to_slice2"
// cWrapperName: "to_slice2"
// protoArgs: "(std::string ** err_msg, std::vector< long long >* x0)"
// params: [(Ref (Const (StdVec CLongLong)),SwigOutput False)]
// retType: StdPair (UserType (Namespace ["casadi"]) (Name "Slice")) (UserType (Namespace ["casadi"]) (Name "Slice"))
// args: "(x0_)"
// cWrapperRetType: "std::pair< casadi::Slice*, casadi::Slice* >*"
// proto: "std::pair< casadi::Slice*, casadi::Slice* >*\n    to_slice2(std::string ** err_msg, std::vector< long long >* x0)"
// friendWrap: False
// fName: "to_slice2"
// call: "        std::pair< casadi::Slice, casadi::Slice > ret = casadi::to_slice2(x0_);"
extern "C"
std::pair< casadi::Slice*, casadi::Slice* >*
    to_slice2(std::string ** err_msg, std::vector< long long >* x0);
std::pair< casadi::Slice*, casadi::Slice* >*
    to_slice2(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);

        std::pair< casadi::Slice, casadi::Slice > ret = casadi::to_slice2(x0_);
        // x0 is not a swig output

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