Definition:
class rusc
{
public:
// build objects
int nbX;
int nbY;
int nbParams;
bool outsideOption;
arma::mat zeta;
arma::mat aux_ord;
arma::cube aux_A;
arma::mat aux_b;
arma::vec aux_c;
// input objects
arma::mat mu;
arma::mat U;
// equilibrium objects
arma::mat mu_sol;
arma::mat U_sol;
// member functions
~rusc(){};
rusc(){};
explicit rusc(int nbX_inp, int nbY_inp);
explicit rusc(arma::mat zeta_inp, bool outsideOption_inp);
void build(int nbX_inp, int nbY_inp);
void build(arma::mat zeta_inp, bool outsideOption_inp);
double G(const arma::vec& n);
double G(const arma::vec& n, const arma::mat& U_inp, arma::mat& mu_out);
double Gx(const arma::mat& U_x_inp, arma::mat& mu_x_out, int x);
double Gstar(const arma::vec& n);
double Gstar(const arma::vec& n, const arma::mat& mu_inp, arma::mat& U_out);
double Gstarx(const arma::mat& mu_x_inp, arma::mat &U_x_out, int x);
double Gbar(const arma::mat& Ubar, const arma::mat& mubar, const arma::vec& n, arma::mat& U_out, arma::mat& mu_out);
double Gbarx(const arma::vec& Ubar_x, const arma::vec& mubar_x, arma::mat& U_x_out, arma::mat& mu_x_out, int x);
empirical simul();
empirical simul(int* nbDraws, int* seed);
void simul(empirical& obj_out);
void simul(empirical& obj_out, int* nbDraws, int* seed);
};
Example: