const ArrayXd glmDist::devResid(const ArrayXd &y, const ArrayXd &mu, const ArrayXd &wt) const { int n = mu.size(); return as<ArrayXd>(::Rf_eval(::Rf_lang4(as<SEXP>(d_devRes), as<SEXP>(NumericVector(y.data(), y.data() + n)), as<SEXP>(NumericVector(mu.data(), mu.data() + n)), as<SEXP>(NumericVector(wt.data(), wt.data() + n)) ), d_rho)); }
double glmDist::aic(const ArrayXd& y, const ArrayXd& n, const ArrayXd& mu, const ArrayXd& wt, double dev) const { int nn = mu.size(); double ans = ::Rf_asReal(::Rf_eval(::Rf_lang6(as<SEXP>(d_aic), as<SEXP>(NumericVector(y.data(), y.data() + nn)), as<SEXP>(NumericVector(n.data(), n.data() + nn)), as<SEXP>(NumericVector(mu.data(), mu.data() + nn)), as<SEXP>(NumericVector(wt.data(), wt.data() + nn)), PROTECT(::Rf_ScalarReal(dev))), d_rho)); UNPROTECT(1); return ans; }
// Returns the linear predictor from the full step Rcpp::NumericVector densePred::gamma(const Rcpp::NumericVector& xwts, const Rcpp::NumericVector& wtres) throw (std::runtime_error) { int n = d_X.nrow(); if (xwts.size() != n || wtres.size() != n) throw std::runtime_error("length(xwts) or length(wtres) != nrow(X)"); arma::vec a_xwts = arma::vec(xwts.begin(), n, false, true), a_wtres = arma::vec(wtres.begin(), n, false, true); arma::vec tmp = solve(diagmat(a_xwts) * a_X, a_wtres); std::copy(tmp.begin(), tmp.end(), a_delta.begin()); d_coef = d_coef0 + d_delta; return NumericVector(wrap(a_X * a_coef)); }
// Returns the linear predictor from a step of fac Rcpp::NumericVector densePred::dgamma(double fac) { return NumericVector(wrap(a_X * (a_coef0 + fac * a_delta))); }
AdaGradIter::AdaGradIter(GloveFit &fit): x_irow(IntegerVector(0)), x_icol(IntegerVector(0)), x_val(NumericVector(0)), iter_order(IntegerVector(0)), fit(fit) {};
Rcpp::NumericVector merResp::devResid() const { return NumericVector(0); }