std::vector<T> Selector::select(const std::vector<T> &v) const{ assert(v.size()==nvars_possible()); std::vector<T> ans; ans.reserve(nvars()); for(uint i=0; i<nvars_possible(); ++i) if(inc(i)) ans.push_back(v[i]); return ans;}
std::vector<T> Selector::select(const std::vector<T> &v) const { assert(v.size() == nvars_possible()); if (include_all_ || nvars() == nvars_possible()) return v; std::vector<T> ans; ans.reserve(nvars()); for (uint i = 0; i < nvars(); ++i) { ans.push_back(v[indx(i)]); } return ans; }
Vector RM::simulate_fake_x()const{ uint p = nvars_possible(); Vector x(p-1); for(uint i=0; i<p-1; ++i) x[i] = rnorm(); return x; }