Definition:
class none { public: // build objects int nbX; int nbY; int nbParams; // input objects arma::mat mu; arma::mat U; // equilibrium objects arma::mat mu_sol; arma::mat U_sol; // member functions ~none(){}; none(){}; explicit none(int nbX_inp, int nbY_inp); void build(int nbX_inp, int nbY_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); 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); double Gbarx(const arma::vec& Ubar_x, const arma::vec& mubar_x, arma::mat& U_x_out, arma::mat& mu_x_out, int x); arma::vec dtheta_NablaGstar(); empirical simul(); empirical simul(int* nbDraws, int* seed); void simul(empirical& obj_out); void simul(empirical& obj_out, int* nbDraws, int* seed); };
Example:
// // inputs: arma::mat U(2,3); U << 1.6 << 3.2 << 1.1 << arma::endr << 2.9 << 1.0 << 3.1 << arma::endr; arma::mat mu(2,3); mu << 1.0 << 3.0 << 1.0 << arma::endr << 2.0 << 1.0 << 3.0 << arma::endr; // // setup none class object int nbX = U.n_rows; int nbY = U.n_cols; arma::vec n = arma::sum(mu,1); // trame::none none_obj(nbX,nbY); none_obj.U = U; none_obj.mu = mu; // double val_G = none_obj.G(n); std::cout << "G val: \n" << val_G << std::endl; // arma::mat mubar(2,3); mubar.fill(2); arma::mat Ubar_temp, mubar_temp; double valGbar = none_obj.Gbar(U,mubar,n,Ubar_temp,mubar_temp); std::cout << "Gbar val: \n" << valGbar << std::endl;