// Generated by using Rcpp::compileAttributes() -> do not edit by hand
// Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393

#include <RcppEigen.h>
#include <Rcpp.h>

using namespace Rcpp;

#ifdef RCPP_USE_GLOBAL_ROSTREAM
Rcpp::Rostream<true>&  Rcpp::Rcout = Rcpp::Rcpp_cout_get();
Rcpp::Rostream<false>& Rcpp::Rcerr = Rcpp::Rcpp_cerr_get();
#endif

// Linpred__new
SEXP Linpred__new(SEXP formula_, SEXP data_, SEXP colnames_);
RcppExport SEXP _glmmrBase_Linpred__new(SEXP formula_SEXP, SEXP data_SEXP, SEXP colnames_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type formula_(formula_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type data_(data_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type colnames_(colnames_SEXP);
    rcpp_result_gen = Rcpp::wrap(Linpred__new(formula_, data_, colnames_));
    return rcpp_result_gen;
END_RCPP
}
// Linpred__update_pars
void Linpred__update_pars(SEXP xp, SEXP parameters_);
RcppExport SEXP _glmmrBase_Linpred__update_pars(SEXP xpSEXP, SEXP parameters_SEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< SEXP >::type parameters_(parameters_SEXP);
    Linpred__update_pars(xp, parameters_);
    return R_NilValue;
END_RCPP
}
// Linpred__xb
SEXP Linpred__xb(SEXP xp);
RcppExport SEXP _glmmrBase_Linpred__xb(SEXP xpSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    rcpp_result_gen = Rcpp::wrap(Linpred__xb(xp));
    return rcpp_result_gen;
END_RCPP
}
// Linpred__x
SEXP Linpred__x(SEXP xp);
RcppExport SEXP _glmmrBase_Linpred__x(SEXP xpSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    rcpp_result_gen = Rcpp::wrap(Linpred__x(xp));
    return rcpp_result_gen;
END_RCPP
}
// Linpred__beta_names
SEXP Linpred__beta_names(SEXP xp);
RcppExport SEXP _glmmrBase_Linpred__beta_names(SEXP xpSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    rcpp_result_gen = Rcpp::wrap(Linpred__beta_names(xp));
    return rcpp_result_gen;
END_RCPP
}
// Linpred__any_nonlinear
SEXP Linpred__any_nonlinear(SEXP xp);
RcppExport SEXP _glmmrBase_Linpred__any_nonlinear(SEXP xpSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    rcpp_result_gen = Rcpp::wrap(Linpred__any_nonlinear(xp));
    return rcpp_result_gen;
END_RCPP
}
// Covariance__new
SEXP Covariance__new(SEXP form_, SEXP data_, SEXP colnames_);
RcppExport SEXP _glmmrBase_Covariance__new(SEXP form_SEXP, SEXP data_SEXP, SEXP colnames_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type form_(form_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type data_(data_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type colnames_(colnames_SEXP);
    rcpp_result_gen = Rcpp::wrap(Covariance__new(form_, data_, colnames_));
    return rcpp_result_gen;
END_RCPP
}
// Covariance_nngp__new
SEXP Covariance_nngp__new(SEXP form_, SEXP data_, SEXP colnames_);
RcppExport SEXP _glmmrBase_Covariance_nngp__new(SEXP form_SEXP, SEXP data_SEXP, SEXP colnames_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type form_(form_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type data_(data_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type colnames_(colnames_SEXP);
    rcpp_result_gen = Rcpp::wrap(Covariance_nngp__new(form_, data_, colnames_));
    return rcpp_result_gen;
END_RCPP
}
// Covariance_hsgp__new
SEXP Covariance_hsgp__new(SEXP form_, SEXP data_, SEXP colnames_);
RcppExport SEXP _glmmrBase_Covariance_hsgp__new(SEXP form_SEXP, SEXP data_SEXP, SEXP colnames_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type form_(form_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type data_(data_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type colnames_(colnames_SEXP);
    rcpp_result_gen = Rcpp::wrap(Covariance_hsgp__new(form_, data_, colnames_));
    return rcpp_result_gen;
END_RCPP
}
// Covariance_ar__new
SEXP Covariance_ar__new(SEXP form_, SEXP data_, SEXP colnames_, int T);
RcppExport SEXP _glmmrBase_Covariance_ar__new(SEXP form_SEXP, SEXP data_SEXP, SEXP colnames_SEXP, SEXP TSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type form_(form_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type data_(data_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type colnames_(colnames_SEXP);
    Rcpp::traits::input_parameter< int >::type T(TSEXP);
    rcpp_result_gen = Rcpp::wrap(Covariance_ar__new(form_, data_, colnames_, T));
    return rcpp_result_gen;
END_RCPP
}
// Covariance__Z
SEXP Covariance__Z(SEXP xp, int type_);
RcppExport SEXP _glmmrBase_Covariance__Z(SEXP xpSEXP, SEXP type_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type_(type_SEXP);
    rcpp_result_gen = Rcpp::wrap(Covariance__Z(xp, type_));
    return rcpp_result_gen;
END_RCPP
}
// Covariance__ZL
SEXP Covariance__ZL(SEXP xp, int type_);
RcppExport SEXP _glmmrBase_Covariance__ZL(SEXP xpSEXP, SEXP type_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type_(type_SEXP);
    rcpp_result_gen = Rcpp::wrap(Covariance__ZL(xp, type_));
    return rcpp_result_gen;
END_RCPP
}
// Covariance__Update_parameters
void Covariance__Update_parameters(SEXP xp, SEXP parameters_, int type_);
RcppExport SEXP _glmmrBase_Covariance__Update_parameters(SEXP xpSEXP, SEXP parameters_SEXP, SEXP type_SEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< SEXP >::type parameters_(parameters_SEXP);
    Rcpp::traits::input_parameter< int >::type type_(type_SEXP);
    Covariance__Update_parameters(xp, parameters_, type_);
    return R_NilValue;
END_RCPP
}
// Covariance__D
SEXP Covariance__D(SEXP xp, int type_);
RcppExport SEXP _glmmrBase_Covariance__D(SEXP xpSEXP, SEXP type_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type_(type_SEXP);
    rcpp_result_gen = Rcpp::wrap(Covariance__D(xp, type_));
    return rcpp_result_gen;
END_RCPP
}
// Covariance__D_chol
SEXP Covariance__D_chol(SEXP xp, int type_);
RcppExport SEXP _glmmrBase_Covariance__D_chol(SEXP xpSEXP, SEXP type_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type_(type_SEXP);
    rcpp_result_gen = Rcpp::wrap(Covariance__D_chol(xp, type_));
    return rcpp_result_gen;
END_RCPP
}
// Covariance__B
SEXP Covariance__B(SEXP xp, int type_);
RcppExport SEXP _glmmrBase_Covariance__B(SEXP xpSEXP, SEXP type_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type_(type_SEXP);
    rcpp_result_gen = Rcpp::wrap(Covariance__B(xp, type_));
    return rcpp_result_gen;
END_RCPP
}
// Covariance__Q
SEXP Covariance__Q(SEXP xp, int type_);
RcppExport SEXP _glmmrBase_Covariance__Q(SEXP xpSEXP, SEXP type_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type_(type_SEXP);
    rcpp_result_gen = Rcpp::wrap(Covariance__Q(xp, type_));
    return rcpp_result_gen;
END_RCPP
}
// Covariance__log_likelihood
SEXP Covariance__log_likelihood(SEXP xp, SEXP u_, int type_);
RcppExport SEXP _glmmrBase_Covariance__log_likelihood(SEXP xpSEXP, SEXP u_SEXP, SEXP type_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< SEXP >::type u_(u_SEXP);
    Rcpp::traits::input_parameter< int >::type type_(type_SEXP);
    rcpp_result_gen = Rcpp::wrap(Covariance__log_likelihood(xp, u_, type_));
    return rcpp_result_gen;
END_RCPP
}
// Covariance__log_determinant
SEXP Covariance__log_determinant(SEXP xp, int type_);
RcppExport SEXP _glmmrBase_Covariance__log_determinant(SEXP xpSEXP, SEXP type_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type_(type_SEXP);
    rcpp_result_gen = Rcpp::wrap(Covariance__log_determinant(xp, type_));
    return rcpp_result_gen;
END_RCPP
}
// Covariance__n_cov_pars
SEXP Covariance__n_cov_pars(SEXP xp, int type_);
RcppExport SEXP _glmmrBase_Covariance__n_cov_pars(SEXP xpSEXP, SEXP type_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type_(type_SEXP);
    rcpp_result_gen = Rcpp::wrap(Covariance__n_cov_pars(xp, type_));
    return rcpp_result_gen;
END_RCPP
}
// Covariance__simulate_re
SEXP Covariance__simulate_re(SEXP xp, int type_);
RcppExport SEXP _glmmrBase_Covariance__simulate_re(SEXP xpSEXP, SEXP type_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type_(type_SEXP);
    rcpp_result_gen = Rcpp::wrap(Covariance__simulate_re(xp, type_));
    return rcpp_result_gen;
END_RCPP
}
// Covariance__make_sparse
void Covariance__make_sparse(SEXP xp, int type_);
RcppExport SEXP _glmmrBase_Covariance__make_sparse(SEXP xpSEXP, SEXP type_SEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type_(type_SEXP);
    Covariance__make_sparse(xp, type_);
    return R_NilValue;
END_RCPP
}
// Covariance__make_dense
void Covariance__make_dense(SEXP xp, int type_);
RcppExport SEXP _glmmrBase_Covariance__make_dense(SEXP xpSEXP, SEXP type_SEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type_(type_SEXP);
    Covariance__make_dense(xp, type_);
    return R_NilValue;
END_RCPP
}
// Covariance__set_nn
void Covariance__set_nn(SEXP xp, int nn);
RcppExport SEXP _glmmrBase_Covariance__set_nn(SEXP xpSEXP, SEXP nnSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type nn(nnSEXP);
    Covariance__set_nn(xp, nn);
    return R_NilValue;
END_RCPP
}
// Covariance__any_gr
SEXP Covariance__any_gr(SEXP xp, int type_);
RcppExport SEXP _glmmrBase_Covariance__any_gr(SEXP xpSEXP, SEXP type_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type_(type_SEXP);
    rcpp_result_gen = Rcpp::wrap(Covariance__any_gr(xp, type_));
    return rcpp_result_gen;
END_RCPP
}
// Covariance__get_val
SEXP Covariance__get_val(SEXP xp, int i, int j, int type_);
RcppExport SEXP _glmmrBase_Covariance__get_val(SEXP xpSEXP, SEXP iSEXP, SEXP jSEXP, SEXP type_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type i(iSEXP);
    Rcpp::traits::input_parameter< int >::type j(jSEXP);
    Rcpp::traits::input_parameter< int >::type type_(type_SEXP);
    rcpp_result_gen = Rcpp::wrap(Covariance__get_val(xp, i, j, type_));
    return rcpp_result_gen;
END_RCPP
}
// Covariance__parameter_fn_index
SEXP Covariance__parameter_fn_index(SEXP xp, int type_);
RcppExport SEXP _glmmrBase_Covariance__parameter_fn_index(SEXP xpSEXP, SEXP type_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type_(type_SEXP);
    rcpp_result_gen = Rcpp::wrap(Covariance__parameter_fn_index(xp, type_));
    return rcpp_result_gen;
END_RCPP
}
// Covariance__re_terms
SEXP Covariance__re_terms(SEXP xp, int type_);
RcppExport SEXP _glmmrBase_Covariance__re_terms(SEXP xpSEXP, SEXP type_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type_(type_SEXP);
    rcpp_result_gen = Rcpp::wrap(Covariance__re_terms(xp, type_));
    return rcpp_result_gen;
END_RCPP
}
// Covariance__re_count
SEXP Covariance__re_count(SEXP xp, int type_);
RcppExport SEXP _glmmrBase_Covariance__re_count(SEXP xpSEXP, SEXP type_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type_(type_SEXP);
    rcpp_result_gen = Rcpp::wrap(Covariance__re_count(xp, type_));
    return rcpp_result_gen;
END_RCPP
}
// ModelBits__new
SEXP ModelBits__new(SEXP formula_, SEXP data_, SEXP colnames_, SEXP family_, SEXP link_, SEXP beta_, SEXP theta_);
RcppExport SEXP _glmmrBase_ModelBits__new(SEXP formula_SEXP, SEXP data_SEXP, SEXP colnames_SEXP, SEXP family_SEXP, SEXP link_SEXP, SEXP beta_SEXP, SEXP theta_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type formula_(formula_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type data_(data_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type colnames_(colnames_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type family_(family_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type link_(link_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type beta_(beta_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type theta_(theta_SEXP);
    rcpp_result_gen = Rcpp::wrap(ModelBits__new(formula_, data_, colnames_, family_, link_, beta_, theta_));
    return rcpp_result_gen;
END_RCPP
}
// ModelBits__update_beta
void ModelBits__update_beta(SEXP xp, SEXP beta_);
RcppExport SEXP _glmmrBase_ModelBits__update_beta(SEXP xpSEXP, SEXP beta_SEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< SEXP >::type beta_(beta_SEXP);
    ModelBits__update_beta(xp, beta_);
    return R_NilValue;
END_RCPP
}
// ModelBits__update_theta
void ModelBits__update_theta(SEXP xp, SEXP theta_);
RcppExport SEXP _glmmrBase_ModelBits__update_theta(SEXP xpSEXP, SEXP theta_SEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< SEXP >::type theta_(theta_SEXP);
    ModelBits__update_theta(xp, theta_);
    return R_NilValue;
END_RCPP
}
// Model__new_w_pars
SEXP Model__new_w_pars(SEXP formula_, SEXP data_, SEXP colnames_, SEXP family_, SEXP link_, SEXP beta_, SEXP theta_);
RcppExport SEXP _glmmrBase_Model__new_w_pars(SEXP formula_SEXP, SEXP data_SEXP, SEXP colnames_SEXP, SEXP family_SEXP, SEXP link_SEXP, SEXP beta_SEXP, SEXP theta_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type formula_(formula_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type data_(data_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type colnames_(colnames_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type family_(family_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type link_(link_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type beta_(beta_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type theta_(theta_SEXP);
    rcpp_result_gen = Rcpp::wrap(Model__new_w_pars(formula_, data_, colnames_, family_, link_, beta_, theta_));
    return rcpp_result_gen;
END_RCPP
}
// Model__new
SEXP Model__new(SEXP formula_, SEXP data_, SEXP colnames_, SEXP family_, SEXP link_);
RcppExport SEXP _glmmrBase_Model__new(SEXP formula_SEXP, SEXP data_SEXP, SEXP colnames_SEXP, SEXP family_SEXP, SEXP link_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type formula_(formula_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type data_(data_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type colnames_(colnames_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type family_(family_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type link_(link_SEXP);
    rcpp_result_gen = Rcpp::wrap(Model__new(formula_, data_, colnames_, family_, link_));
    return rcpp_result_gen;
END_RCPP
}
// Model_ar__new
SEXP Model_ar__new(SEXP formula_, SEXP data_, SEXP data_cov_, SEXP colnames_, SEXP colnames_cov_, SEXP family_, SEXP link_, int T_);
RcppExport SEXP _glmmrBase_Model_ar__new(SEXP formula_SEXP, SEXP data_SEXP, SEXP data_cov_SEXP, SEXP colnames_SEXP, SEXP colnames_cov_SEXP, SEXP family_SEXP, SEXP link_SEXP, SEXP T_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type formula_(formula_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type data_(data_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type data_cov_(data_cov_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type colnames_(colnames_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type colnames_cov_(colnames_cov_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type family_(family_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type link_(link_SEXP);
    Rcpp::traits::input_parameter< int >::type T_(T_SEXP);
    rcpp_result_gen = Rcpp::wrap(Model_ar__new(formula_, data_, data_cov_, colnames_, colnames_cov_, family_, link_, T_));
    return rcpp_result_gen;
END_RCPP
}
// Model_nngp__new
SEXP Model_nngp__new(SEXP formula_, SEXP data_, SEXP colnames_, SEXP family_, SEXP link_, int nn);
RcppExport SEXP _glmmrBase_Model_nngp__new(SEXP formula_SEXP, SEXP data_SEXP, SEXP colnames_SEXP, SEXP family_SEXP, SEXP link_SEXP, SEXP nnSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type formula_(formula_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type data_(data_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type colnames_(colnames_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type family_(family_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type link_(link_SEXP);
    Rcpp::traits::input_parameter< int >::type nn(nnSEXP);
    rcpp_result_gen = Rcpp::wrap(Model_nngp__new(formula_, data_, colnames_, family_, link_, nn));
    return rcpp_result_gen;
END_RCPP
}
// Model_nngp__new_w_pars
SEXP Model_nngp__new_w_pars(SEXP formula_, SEXP data_, SEXP colnames_, SEXP family_, SEXP link_, SEXP beta_, SEXP theta_, int nn);
RcppExport SEXP _glmmrBase_Model_nngp__new_w_pars(SEXP formula_SEXP, SEXP data_SEXP, SEXP colnames_SEXP, SEXP family_SEXP, SEXP link_SEXP, SEXP beta_SEXP, SEXP theta_SEXP, SEXP nnSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type formula_(formula_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type data_(data_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type colnames_(colnames_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type family_(family_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type link_(link_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type beta_(beta_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type theta_(theta_SEXP);
    Rcpp::traits::input_parameter< int >::type nn(nnSEXP);
    rcpp_result_gen = Rcpp::wrap(Model_nngp__new_w_pars(formula_, data_, colnames_, family_, link_, beta_, theta_, nn));
    return rcpp_result_gen;
END_RCPP
}
// Model_hsgp__new
SEXP Model_hsgp__new(SEXP formula_, SEXP data_, SEXP colnames_, SEXP family_, SEXP link_);
RcppExport SEXP _glmmrBase_Model_hsgp__new(SEXP formula_SEXP, SEXP data_SEXP, SEXP colnames_SEXP, SEXP family_SEXP, SEXP link_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type formula_(formula_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type data_(data_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type colnames_(colnames_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type family_(family_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type link_(link_SEXP);
    rcpp_result_gen = Rcpp::wrap(Model_hsgp__new(formula_, data_, colnames_, family_, link_));
    return rcpp_result_gen;
END_RCPP
}
// Model_spde__new
SEXP Model_spde__new(SEXP formula_, SEXP data_, SEXP colnames_, SEXP family_, SEXP link_);
RcppExport SEXP _glmmrBase_Model_spde__new(SEXP formula_SEXP, SEXP data_SEXP, SEXP colnames_SEXP, SEXP family_SEXP, SEXP link_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type formula_(formula_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type data_(data_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type colnames_(colnames_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type family_(family_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type link_(link_SEXP);
    rcpp_result_gen = Rcpp::wrap(Model_spde__new(formula_, data_, colnames_, family_, link_));
    return rcpp_result_gen;
END_RCPP
}
// Model_hsgp__new_w_pars
SEXP Model_hsgp__new_w_pars(SEXP formula_, SEXP data_, SEXP colnames_, SEXP family_, SEXP link_, SEXP beta_, SEXP theta_);
RcppExport SEXP _glmmrBase_Model_hsgp__new_w_pars(SEXP formula_SEXP, SEXP data_SEXP, SEXP colnames_SEXP, SEXP family_SEXP, SEXP link_SEXP, SEXP beta_SEXP, SEXP theta_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type formula_(formula_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type data_(data_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type colnames_(colnames_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type family_(family_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type link_(link_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type beta_(beta_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type theta_(theta_SEXP);
    rcpp_result_gen = Rcpp::wrap(Model_hsgp__new_w_pars(formula_, data_, colnames_, family_, link_, beta_, theta_));
    return rcpp_result_gen;
END_RCPP
}
// Model__set_y
void Model__set_y(SEXP xp, SEXP y_, int type);
RcppExport SEXP _glmmrBase_Model__set_y(SEXP xpSEXP, SEXP y_SEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< SEXP >::type y_(y_SEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    Model__set_y(xp, y_, type);
    return R_NilValue;
END_RCPP
}
// Model__set_offset
void Model__set_offset(SEXP xp, SEXP offset_, int type);
RcppExport SEXP _glmmrBase_Model__set_offset(SEXP xpSEXP, SEXP offset_SEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< SEXP >::type offset_(offset_SEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    Model__set_offset(xp, offset_, type);
    return R_NilValue;
END_RCPP
}
// Model__set_weights
void Model__set_weights(SEXP xp, SEXP weights_, int type);
RcppExport SEXP _glmmrBase_Model__set_weights(SEXP xpSEXP, SEXP weights_SEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< SEXP >::type weights_(weights_SEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    Model__set_weights(xp, weights_, type);
    return R_NilValue;
END_RCPP
}
// Model__P
SEXP Model__P(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__P(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__P(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__Q
SEXP Model__Q(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__Q(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__Q(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__theta_size
SEXP Model__theta_size(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__theta_size(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__theta_size(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__update_beta
void Model__update_beta(SEXP xp, SEXP beta_, int type);
RcppExport SEXP _glmmrBase_Model__update_beta(SEXP xpSEXP, SEXP beta_SEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< SEXP >::type beta_(beta_SEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    Model__update_beta(xp, beta_, type);
    return R_NilValue;
END_RCPP
}
// Model__update_theta
void Model__update_theta(SEXP xp, SEXP theta_, int type);
RcppExport SEXP _glmmrBase_Model__update_theta(SEXP xpSEXP, SEXP theta_SEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< SEXP >::type theta_(theta_SEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    Model__update_theta(xp, theta_, type);
    return R_NilValue;
END_RCPP
}
// Model__update_u
void Model__update_u(SEXP xp, SEXP u_, bool append, int type);
RcppExport SEXP _glmmrBase_Model__update_u(SEXP xpSEXP, SEXP u_SEXP, SEXP appendSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< SEXP >::type u_(u_SEXP);
    Rcpp::traits::input_parameter< bool >::type append(appendSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    Model__update_u(xp, u_, append, type);
    return R_NilValue;
END_RCPP
}
// Model__set_quantile
void Model__set_quantile(SEXP xp, double q, int type);
RcppExport SEXP _glmmrBase_Model__set_quantile(SEXP xpSEXP, SEXP qSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< double >::type q(qSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    Model__set_quantile(xp, q, type);
    return R_NilValue;
END_RCPP
}
// Model__use_attenuation
void Model__use_attenuation(SEXP xp, SEXP use_, int type);
RcppExport SEXP _glmmrBase_Model__use_attenuation(SEXP xpSEXP, SEXP use_SEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< SEXP >::type use_(use_SEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    Model__use_attenuation(xp, use_, type);
    return R_NilValue;
END_RCPP
}
// Model__update_W
void Model__update_W(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__update_W(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    Model__update_W(xp, type);
    return R_NilValue;
END_RCPP
}
// Model__get_W
SEXP Model__get_W(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__get_W(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__get_W(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__get_gradients
SEXP Model__get_gradients(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__get_gradients(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__get_gradients(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__use_reml
void Model__use_reml(SEXP xp, bool reml, int type);
RcppExport SEXP _glmmrBase_Model__use_reml(SEXP xpSEXP, SEXP remlSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< bool >::type reml(remlSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    Model__use_reml(xp, reml, type);
    return R_NilValue;
END_RCPP
}
// Model__set_bound
void Model__set_bound(SEXP xp, SEXP bound_, bool beta, bool lower, int type);
RcppExport SEXP _glmmrBase_Model__set_bound(SEXP xpSEXP, SEXP bound_SEXP, SEXP betaSEXP, SEXP lowerSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< SEXP >::type bound_(bound_SEXP);
    Rcpp::traits::input_parameter< bool >::type beta(betaSEXP);
    Rcpp::traits::input_parameter< bool >::type lower(lowerSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    Model__set_bound(xp, bound_, beta, lower, type);
    return R_NilValue;
END_RCPP
}
// Model__print_instructions
void Model__print_instructions(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__print_instructions(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    Model__print_instructions(xp, type);
    return R_NilValue;
END_RCPP
}
// Model__set_bobyqa_control
void Model__set_bobyqa_control(SEXP xp, SEXP npt_, SEXP rhobeg_, SEXP rhoend_, int type);
RcppExport SEXP _glmmrBase_Model__set_bobyqa_control(SEXP xpSEXP, SEXP npt_SEXP, SEXP rhobeg_SEXP, SEXP rhoend_SEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< SEXP >::type npt_(npt_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type rhobeg_(rhobeg_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type rhoend_(rhoend_SEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    Model__set_bobyqa_control(xp, npt_, rhobeg_, rhoend_, type);
    return R_NilValue;
END_RCPP
}
// Model__log_gradient
SEXP Model__log_gradient(SEXP xp, SEXP v_, SEXP beta_, int type);
RcppExport SEXP _glmmrBase_Model__log_gradient(SEXP xpSEXP, SEXP v_SEXP, SEXP beta_SEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< SEXP >::type v_(v_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type beta_(beta_SEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__log_gradient(xp, v_, beta_, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__linear_predictor
SEXP Model__linear_predictor(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__linear_predictor(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__linear_predictor(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__log_likelihood
SEXP Model__log_likelihood(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__log_likelihood(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__log_likelihood(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__n_cov_pars
SEXP Model__n_cov_pars(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__n_cov_pars(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__n_cov_pars(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__se_theta
SEXP Model__se_theta(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__se_theta(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__se_theta(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__Z
SEXP Model__Z(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__Z(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__Z(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__Z_needs_updating
SEXP Model__Z_needs_updating(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__Z_needs_updating(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__Z_needs_updating(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__cov_set_nn
void Model__cov_set_nn(SEXP xp, int nn);
RcppExport SEXP _glmmrBase_Model__cov_set_nn(SEXP xpSEXP, SEXP nnSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type nn(nnSEXP);
    Model__cov_set_nn(xp, nn);
    return R_NilValue;
END_RCPP
}
// Model__ml_beta
void Model__ml_beta(SEXP xp, int algo, int type);
RcppExport SEXP _glmmrBase_Model__ml_beta(SEXP xpSEXP, SEXP algoSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type algo(algoSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    Model__ml_beta(xp, algo, type);
    return R_NilValue;
END_RCPP
}
// Model__ml_theta
void Model__ml_theta(SEXP xp, int algo, int type);
RcppExport SEXP _glmmrBase_Model__ml_theta(SEXP xpSEXP, SEXP algoSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type algo(algoSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    Model__ml_theta(xp, algo, type);
    return R_NilValue;
END_RCPP
}
// Model__nr_beta
void Model__nr_beta(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__nr_beta(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    Model__nr_beta(xp, type);
    return R_NilValue;
END_RCPP
}
// Model__nr_theta
void Model__nr_theta(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__nr_theta(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    Model__nr_theta(xp, type);
    return R_NilValue;
END_RCPP
}
// Model__Sigma
SEXP Model__Sigma(SEXP xp, bool inverse, int type);
RcppExport SEXP _glmmrBase_Model__Sigma(SEXP xpSEXP, SEXP inverseSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< bool >::type inverse(inverseSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__Sigma(xp, inverse, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__information_matrix
SEXP Model__information_matrix(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__information_matrix(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__information_matrix(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__ave_information_matrix
SEXP Model__ave_information_matrix(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__ave_information_matrix(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__ave_information_matrix(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__check_convergence
SEXP Model__check_convergence(SEXP xp, double tol, int hist, int k, int k0, int type);
RcppExport SEXP _glmmrBase_Model__check_convergence(SEXP xpSEXP, SEXP tolSEXP, SEXP histSEXP, SEXP kSEXP, SEXP k0SEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< double >::type tol(tolSEXP);
    Rcpp::traits::input_parameter< int >::type hist(histSEXP);
    Rcpp::traits::input_parameter< int >::type k(kSEXP);
    Rcpp::traits::input_parameter< int >::type k0(k0SEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__check_convergence(xp, tol, hist, k, k0, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__D
SEXP Model__D(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__D(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__D(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__log_re
SEXP Model__log_re(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__log_re(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__log_re(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__D_chol
SEXP Model__D_chol(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__D_chol(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__D_chol(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__u_log_likelihood
SEXP Model__u_log_likelihood(SEXP xp, SEXP u_, int type);
RcppExport SEXP _glmmrBase_Model__u_log_likelihood(SEXP xpSEXP, SEXP u_SEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< SEXP >::type u_(u_SEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__u_log_likelihood(xp, u_, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__simulate_re
SEXP Model__simulate_re(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__simulate_re(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__simulate_re(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__re_terms
SEXP Model__re_terms(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__re_terms(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__re_terms(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__re_count
SEXP Model__re_count(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__re_count(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__re_count(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__parameter_fn_index
SEXP Model__parameter_fn_index(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__parameter_fn_index(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__parameter_fn_index(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__information_matrix_crude
SEXP Model__information_matrix_crude(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__information_matrix_crude(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__information_matrix_crude(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__obs_information_matrix
SEXP Model__obs_information_matrix(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__obs_information_matrix(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__obs_information_matrix(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__observed_information_matrix
SEXP Model__observed_information_matrix(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__observed_information_matrix(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__observed_information_matrix(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__u
SEXP Model__u(SEXP xp, bool scaled_, int type);
RcppExport SEXP _glmmrBase_Model__u(SEXP xpSEXP, SEXP scaled_SEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< bool >::type scaled_(scaled_SEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__u(xp, scaled_, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__Zu
SEXP Model__Zu(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__Zu(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__Zu(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__X
SEXP Model__X(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__X(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__X(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__set_trace
void Model__set_trace(SEXP xp, SEXP trace_, int type);
RcppExport SEXP _glmmrBase_Model__set_trace(SEXP xpSEXP, SEXP trace_SEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< SEXP >::type trace_(trace_SEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    Model__set_trace(xp, trace_, type);
    return R_NilValue;
END_RCPP
}
// Model__get_beta
SEXP Model__get_beta(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__get_beta(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__get_beta(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__y
SEXP Model__y(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__y(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__y(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__get_theta
SEXP Model__get_theta(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__get_theta(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__get_theta(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__get_conv_z
SEXP Model__get_conv_z(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__get_conv_z(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__get_conv_z(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__get_conv_bf
SEXP Model__get_conv_bf(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__get_conv_bf(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__get_conv_bf(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__clear_conv_z
void Model__clear_conv_z(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__clear_conv_z(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    Model__clear_conv_z(xp, type);
    return R_NilValue;
END_RCPP
}
// Model__clear_conv_bf
void Model__clear_conv_bf(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__clear_conv_bf(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    Model__clear_conv_bf(xp, type);
    return R_NilValue;
END_RCPP
}
// Model__get_var_par
SEXP Model__get_var_par(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__get_var_par(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__get_var_par(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__get_variance
SEXP Model__get_variance(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__get_variance(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__get_variance(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__get_mean_u
SEXP Model__get_mean_u(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__get_mean_u(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__get_mean_u(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__check_for_errors
void Model__check_for_errors(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__check_for_errors(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    Model__check_for_errors(xp, type);
    return R_NilValue;
END_RCPP
}
// Model__get_importance_weights
SEXP Model__get_importance_weights(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__get_importance_weights(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__get_importance_weights(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__set_var_par
void Model__set_var_par(SEXP xp, SEXP var_par_, int type);
RcppExport SEXP _glmmrBase_Model__set_var_par(SEXP xpSEXP, SEXP var_par_SEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< SEXP >::type var_par_(var_par_SEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    Model__set_var_par(xp, var_par_, type);
    return R_NilValue;
END_RCPP
}
// Model__set_trials
void Model__set_trials(SEXP xp, SEXP trials, int type);
RcppExport SEXP _glmmrBase_Model__set_trials(SEXP xpSEXP, SEXP trialsSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< SEXP >::type trials(trialsSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    Model__set_trials(xp, trials, type);
    return R_NilValue;
END_RCPP
}
// Model__L
SEXP Model__L(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__L(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__L(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__ZL
SEXP Model__ZL(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__ZL(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__ZL(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__xb
SEXP Model__xb(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__xb(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__xb(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// near_semi_pd
SEXP near_semi_pd(SEXP mat_);
RcppExport SEXP _glmmrBase_near_semi_pd(SEXP mat_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type mat_(mat_SEXP);
    rcpp_result_gen = Rcpp::wrap(near_semi_pd(mat_));
    return rcpp_result_gen;
END_RCPP
}
// Covariance__submatrix
SEXP Covariance__submatrix(SEXP xp, int i);
RcppExport SEXP _glmmrBase_Covariance__submatrix(SEXP xpSEXP, SEXP iSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type i(iSEXP);
    rcpp_result_gen = Rcpp::wrap(Covariance__submatrix(xp, i));
    return rcpp_result_gen;
END_RCPP
}
// Model_hsgp__set_approx_pars
void Model_hsgp__set_approx_pars(SEXP xp, SEXP m_, SEXP L_);
RcppExport SEXP _glmmrBase_Model_hsgp__set_approx_pars(SEXP xpSEXP, SEXP m_SEXP, SEXP L_SEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< SEXP >::type m_(m_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type L_(L_SEXP);
    Model_hsgp__set_approx_pars(xp, m_, L_);
    return R_NilValue;
END_RCPP
}
// Model_spde__set_spde_data
void Model_spde__set_spde_data(SEXP xp, SEXP A_, SEXP C_diag_, SEXP G_, SEXP alpha_);
RcppExport SEXP _glmmrBase_Model_spde__set_spde_data(SEXP xpSEXP, SEXP A_SEXP, SEXP C_diag_SEXP, SEXP G_SEXP, SEXP alpha_SEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< SEXP >::type A_(A_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type C_diag_(C_diag_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type G_(G_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type alpha_(alpha_SEXP);
    Model_spde__set_spde_data(xp, A_, C_diag_, G_, alpha_);
    return R_NilValue;
END_RCPP
}
// Covariance_hsgp__set_approx_pars
void Covariance_hsgp__set_approx_pars(SEXP xp, SEXP m_, SEXP L_);
RcppExport SEXP _glmmrBase_Covariance_hsgp__set_approx_pars(SEXP xpSEXP, SEXP m_SEXP, SEXP L_SEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< SEXP >::type m_(m_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type L_(L_SEXP);
    Covariance_hsgp__set_approx_pars(xp, m_, L_);
    return R_NilValue;
END_RCPP
}
// Model_hsgp__dim
SEXP Model_hsgp__dim(SEXP xp);
RcppExport SEXP _glmmrBase_Model_hsgp__dim(SEXP xpSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    rcpp_result_gen = Rcpp::wrap(Model_hsgp__dim(xp));
    return rcpp_result_gen;
END_RCPP
}
// Model_hsgp__lambda_spd
SEXP Model_hsgp__lambda_spd(SEXP xp);
RcppExport SEXP _glmmrBase_Model_hsgp__lambda_spd(SEXP xpSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    rcpp_result_gen = Rcpp::wrap(Model_hsgp__lambda_spd(xp));
    return rcpp_result_gen;
END_RCPP
}
// Model_hsgp__Phi
SEXP Model_hsgp__Phi(SEXP xp);
RcppExport SEXP _glmmrBase_Model_hsgp__Phi(SEXP xpSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    rcpp_result_gen = Rcpp::wrap(Model_hsgp__Phi(xp));
    return rcpp_result_gen;
END_RCPP
}
// Model_hsgp__set_anisotropic
void Model_hsgp__set_anisotropic(SEXP xp);
RcppExport SEXP _glmmrBase_Model_hsgp__set_anisotropic(SEXP xpSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Model_hsgp__set_anisotropic(xp);
    return R_NilValue;
END_RCPP
}
// Model__aic
SEXP Model__aic(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__aic(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__aic(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__residuals
SEXP Model__residuals(SEXP xp, int rtype, bool conditional, int type);
RcppExport SEXP _glmmrBase_Model__residuals(SEXP xpSEXP, SEXP rtypeSEXP, SEXP conditionalSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type rtype(rtypeSEXP);
    Rcpp::traits::input_parameter< bool >::type conditional(conditionalSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__residuals(xp, rtype, conditional, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__posterior_u_sample
void Model__posterior_u_sample(SEXP xp, int niter, bool reml, bool loglik, bool append, int type);
RcppExport SEXP _glmmrBase_Model__posterior_u_sample(SEXP xpSEXP, SEXP niterSEXP, SEXP remlSEXP, SEXP loglikSEXP, SEXP appendSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type niter(niterSEXP);
    Rcpp::traits::input_parameter< bool >::type reml(remlSEXP);
    Rcpp::traits::input_parameter< bool >::type loglik(loglikSEXP);
    Rcpp::traits::input_parameter< bool >::type append(appendSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    Model__posterior_u_sample(xp, niter, reml, loglik, append, type);
    return R_NilValue;
END_RCPP
}
// Model__get_log_likelihood_values
SEXP Model__get_log_likelihood_values(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__get_log_likelihood_values(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__get_log_likelihood_values(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__u_diagnostic
SEXP Model__u_diagnostic(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__u_diagnostic(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__u_diagnostic(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__fit
void Model__fit(SEXP xp, int niter, int max_iter, bool start_ml_beta, double tol, int hist, int k0, int type);
RcppExport SEXP _glmmrBase_Model__fit(SEXP xpSEXP, SEXP niterSEXP, SEXP max_iterSEXP, SEXP start_ml_betaSEXP, SEXP tolSEXP, SEXP histSEXP, SEXP k0SEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type niter(niterSEXP);
    Rcpp::traits::input_parameter< int >::type max_iter(max_iterSEXP);
    Rcpp::traits::input_parameter< bool >::type start_ml_beta(start_ml_betaSEXP);
    Rcpp::traits::input_parameter< double >::type tol(tolSEXP);
    Rcpp::traits::input_parameter< int >::type hist(histSEXP);
    Rcpp::traits::input_parameter< int >::type k0(k0SEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    Model__fit(xp, niter, max_iter, start_ml_beta, tol, hist, k0, type);
    return R_NilValue;
END_RCPP
}
// Model__marginal
SEXP Model__marginal(SEXP xp, std::string x, int margin, int re, int se, int oim, Nullable<std::vector<std::string> > at, Nullable<std::vector<std::string> > atmeans, Nullable<std::vector<std::string> > average, double xvals_first, double xvals_second, Nullable<std::vector<double> > atvals, Nullable<std::vector<double> > revals, int type);
RcppExport SEXP _glmmrBase_Model__marginal(SEXP xpSEXP, SEXP xSEXP, SEXP marginSEXP, SEXP reSEXP, SEXP seSEXP, SEXP oimSEXP, SEXP atSEXP, SEXP atmeansSEXP, SEXP averageSEXP, SEXP xvals_firstSEXP, SEXP xvals_secondSEXP, SEXP atvalsSEXP, SEXP revalsSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< std::string >::type x(xSEXP);
    Rcpp::traits::input_parameter< int >::type margin(marginSEXP);
    Rcpp::traits::input_parameter< int >::type re(reSEXP);
    Rcpp::traits::input_parameter< int >::type se(seSEXP);
    Rcpp::traits::input_parameter< int >::type oim(oimSEXP);
    Rcpp::traits::input_parameter< Nullable<std::vector<std::string> > >::type at(atSEXP);
    Rcpp::traits::input_parameter< Nullable<std::vector<std::string> > >::type atmeans(atmeansSEXP);
    Rcpp::traits::input_parameter< Nullable<std::vector<std::string> > >::type average(averageSEXP);
    Rcpp::traits::input_parameter< double >::type xvals_first(xvals_firstSEXP);
    Rcpp::traits::input_parameter< double >::type xvals_second(xvals_secondSEXP);
    Rcpp::traits::input_parameter< Nullable<std::vector<double> > >::type atvals(atvalsSEXP);
    Rcpp::traits::input_parameter< Nullable<std::vector<double> > >::type revals(revalsSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__marginal(xp, x, margin, re, se, oim, at, atmeans, average, xvals_first, xvals_second, atvals, revals, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__reset_fn_counter
void Model__reset_fn_counter(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__reset_fn_counter(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    Model__reset_fn_counter(xp, type);
    return R_NilValue;
END_RCPP
}
// Model__get_fn_counter
SEXP Model__get_fn_counter(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__get_fn_counter(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__get_fn_counter(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__print_names
void Model__print_names(SEXP xp, bool data, bool parameters, int type);
RcppExport SEXP _glmmrBase_Model__print_names(SEXP xpSEXP, SEXP dataSEXP, SEXP parametersSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< bool >::type data(dataSEXP);
    Rcpp::traits::input_parameter< bool >::type parameters(parametersSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    Model__print_names(xp, data, parameters, type);
    return R_NilValue;
END_RCPP
}
// Model__set_sml_parameters
void Model__set_sml_parameters(SEXP xp, bool saem_, int block_size, double alpha, bool pr_average, int type);
RcppExport SEXP _glmmrBase_Model__set_sml_parameters(SEXP xpSEXP, SEXP saem_SEXP, SEXP block_sizeSEXP, SEXP alphaSEXP, SEXP pr_averageSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< bool >::type saem_(saem_SEXP);
    Rcpp::traits::input_parameter< int >::type block_size(block_sizeSEXP);
    Rcpp::traits::input_parameter< double >::type alpha(alphaSEXP);
    Rcpp::traits::input_parameter< bool >::type pr_average(pr_averageSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    Model__set_sml_parameters(xp, saem_, block_size, alpha, pr_average, type);
    return R_NilValue;
END_RCPP
}
// Model__ll_diff_variance
SEXP Model__ll_diff_variance(SEXP xp, bool beta, bool theta, int type);
RcppExport SEXP _glmmrBase_Model__ll_diff_variance(SEXP xpSEXP, SEXP betaSEXP, SEXP thetaSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< bool >::type beta(betaSEXP);
    Rcpp::traits::input_parameter< bool >::type theta(thetaSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__ll_diff_variance(xp, beta, theta, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__make_sparse
void Model__make_sparse(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__make_sparse(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    Model__make_sparse(xp, type);
    return R_NilValue;
END_RCPP
}
// Model__make_dense
void Model__make_dense(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__make_dense(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    Model__make_dense(xp, type);
    return R_NilValue;
END_RCPP
}
// Model__beta_parameter_names
SEXP Model__beta_parameter_names(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__beta_parameter_names(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__beta_parameter_names(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__theta_parameter_names
SEXP Model__theta_parameter_names(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__theta_parameter_names(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__theta_parameter_names(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__any_nonlinear
SEXP Model__any_nonlinear(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__any_nonlinear(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__any_nonlinear(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__sandwich
SEXP Model__sandwich(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__sandwich(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__sandwich(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__infomat_theta
SEXP Model__infomat_theta(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__infomat_theta(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__infomat_theta(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__kenward_roger
SEXP Model__kenward_roger(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__kenward_roger(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__kenward_roger(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__small_sample_correction
SEXP Model__small_sample_correction(SEXP xp, int ss_type, bool oim, int type);
RcppExport SEXP _glmmrBase_Model__small_sample_correction(SEXP xpSEXP, SEXP ss_typeSEXP, SEXP oimSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type ss_type(ss_typeSEXP);
    Rcpp::traits::input_parameter< bool >::type oim(oimSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__small_sample_correction(xp, ss_type, oim, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__box
SEXP Model__box(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__box(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__box(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__cov_deriv
SEXP Model__cov_deriv(SEXP xp, int type);
RcppExport SEXP _glmmrBase_Model__cov_deriv(SEXP xpSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__cov_deriv(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// Model__predict
SEXP Model__predict(SEXP xp, SEXP newdata_, SEXP newoffset_, int m, int type);
RcppExport SEXP _glmmrBase_Model__predict(SEXP xpSEXP, SEXP newdata_SEXP, SEXP newoffset_SEXP, SEXP mSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< SEXP >::type newdata_(newdata_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type newoffset_(newoffset_SEXP);
    Rcpp::traits::input_parameter< int >::type m(mSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__predict(xp, newdata_, newoffset_, m, type));
    return rcpp_result_gen;
END_RCPP
}
// Model_spde__predict
SEXP Model_spde__predict(SEXP xp, SEXP newdata_, SEXP newoffset_, SEXP A_new_, int m);
RcppExport SEXP _glmmrBase_Model_spde__predict(SEXP xpSEXP, SEXP newdata_SEXP, SEXP newoffset_SEXP, SEXP A_new_SEXP, SEXP mSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< SEXP >::type newdata_(newdata_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type newoffset_(newoffset_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type A_new_(A_new_SEXP);
    Rcpp::traits::input_parameter< int >::type m(mSEXP);
    rcpp_result_gen = Rcpp::wrap(Model_spde__predict(xp, newdata_, newoffset_, A_new_, m));
    return rcpp_result_gen;
END_RCPP
}
// Model_spde__re_var
SEXP Model_spde__re_var(SEXP xp);
RcppExport SEXP _glmmrBase_Model_spde__re_var(SEXP xpSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    rcpp_result_gen = Rcpp::wrap(Model_spde__re_var(xp));
    return rcpp_result_gen;
END_RCPP
}
// Model_spde__re_var_at
SEXP Model_spde__re_var_at(SEXP xp, SEXP A_);
RcppExport SEXP _glmmrBase_Model_spde__re_var_at(SEXP xpSEXP, SEXP A_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< SEXP >::type A_(A_SEXP);
    rcpp_result_gen = Rcpp::wrap(Model_spde__re_var_at(xp, A_));
    return rcpp_result_gen;
END_RCPP
}
// Model_hsgp__re_var
SEXP Model_hsgp__re_var(SEXP xp);
RcppExport SEXP _glmmrBase_Model_hsgp__re_var(SEXP xpSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    rcpp_result_gen = Rcpp::wrap(Model_hsgp__re_var(xp));
    return rcpp_result_gen;
END_RCPP
}
// Model__predict_re
SEXP Model__predict_re(SEXP xp, SEXP newdata_, SEXP newoffset_, int m, int type);
RcppExport SEXP _glmmrBase_Model__predict_re(SEXP xpSEXP, SEXP newdata_SEXP, SEXP newoffset_SEXP, SEXP mSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< SEXP >::type newdata_(newdata_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type newoffset_(newoffset_SEXP);
    Rcpp::traits::input_parameter< int >::type m(mSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(Model__predict_re(xp, newdata_, newoffset_, m, type));
    return rcpp_result_gen;
END_RCPP
}
// hessian_from_formula
SEXP hessian_from_formula(SEXP form_, SEXP data_, SEXP colnames_, SEXP parameters_);
RcppExport SEXP _glmmrBase_hessian_from_formula(SEXP form_SEXP, SEXP data_SEXP, SEXP colnames_SEXP, SEXP parameters_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type form_(form_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type data_(data_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type colnames_(colnames_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type parameters_(parameters_SEXP);
    rcpp_result_gen = Rcpp::wrap(hessian_from_formula(form_, data_, colnames_, parameters_));
    return rcpp_result_gen;
END_RCPP
}
// setParallel
void setParallel(SEXP parallel_, int cores_);
RcppExport SEXP _glmmrBase_setParallel(SEXP parallel_SEXP, SEXP cores_SEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type parallel_(parallel_SEXP);
    Rcpp::traits::input_parameter< int >::type cores_(cores_SEXP);
    setParallel(parallel_, cores_);
    return R_NilValue;
END_RCPP
}
// re_names
std::vector<std::string> re_names(const std::string& formula, bool as_formula);
RcppExport SEXP _glmmrBase_re_names(SEXP formulaSEXP, SEXP as_formulaSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const std::string& >::type formula(formulaSEXP);
    Rcpp::traits::input_parameter< bool >::type as_formula(as_formulaSEXP);
    rcpp_result_gen = Rcpp::wrap(re_names(formula, as_formula));
    return rcpp_result_gen;
END_RCPP
}
// attenuate_xb
Eigen::VectorXd attenuate_xb(const Eigen::VectorXd& xb, const Eigen::MatrixXd& Z, const Eigen::MatrixXd& D, const std::string& link);
RcppExport SEXP _glmmrBase_attenuate_xb(SEXP xbSEXP, SEXP ZSEXP, SEXP DSEXP, SEXP linkSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const Eigen::VectorXd& >::type xb(xbSEXP);
    Rcpp::traits::input_parameter< const Eigen::MatrixXd& >::type Z(ZSEXP);
    Rcpp::traits::input_parameter< const Eigen::MatrixXd& >::type D(DSEXP);
    Rcpp::traits::input_parameter< const std::string& >::type link(linkSEXP);
    rcpp_result_gen = Rcpp::wrap(attenuate_xb(xb, Z, D, link));
    return rcpp_result_gen;
END_RCPP
}
// dlinkdeta
Eigen::VectorXd dlinkdeta(const Eigen::VectorXd& xb, const std::string& link);
RcppExport SEXP _glmmrBase_dlinkdeta(SEXP xbSEXP, SEXP linkSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const Eigen::VectorXd& >::type xb(xbSEXP);
    Rcpp::traits::input_parameter< const std::string& >::type link(linkSEXP);
    rcpp_result_gen = Rcpp::wrap(dlinkdeta(xb, link));
    return rcpp_result_gen;
END_RCPP
}
// girling_algorithm
SEXP girling_algorithm(SEXP xp, SEXP N_, SEXP C_, SEXP tol_);
RcppExport SEXP _glmmrBase_girling_algorithm(SEXP xpSEXP, SEXP N_SEXP, SEXP C_SEXP, SEXP tol_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< SEXP >::type N_(N_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type C_(C_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type tol_(tol_SEXP);
    rcpp_result_gen = Rcpp::wrap(girling_algorithm(xp, N_, C_, tol_));
    return rcpp_result_gen;
END_RCPP
}
// get_variable_names
SEXP get_variable_names(SEXP formula_, SEXP colnames_);
RcppExport SEXP _glmmrBase_get_variable_names(SEXP formula_SEXP, SEXP colnames_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type formula_(formula_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type colnames_(colnames_SEXP);
    rcpp_result_gen = Rcpp::wrap(get_variable_names(formula_, colnames_));
    return rcpp_result_gen;
END_RCPP
}

static const R_CallMethodDef CallEntries[] = {
    {"_glmmrBase_Linpred__new", (DL_FUNC) &_glmmrBase_Linpred__new, 3},
    {"_glmmrBase_Linpred__update_pars", (DL_FUNC) &_glmmrBase_Linpred__update_pars, 2},
    {"_glmmrBase_Linpred__xb", (DL_FUNC) &_glmmrBase_Linpred__xb, 1},
    {"_glmmrBase_Linpred__x", (DL_FUNC) &_glmmrBase_Linpred__x, 1},
    {"_glmmrBase_Linpred__beta_names", (DL_FUNC) &_glmmrBase_Linpred__beta_names, 1},
    {"_glmmrBase_Linpred__any_nonlinear", (DL_FUNC) &_glmmrBase_Linpred__any_nonlinear, 1},
    {"_glmmrBase_Covariance__new", (DL_FUNC) &_glmmrBase_Covariance__new, 3},
    {"_glmmrBase_Covariance_nngp__new", (DL_FUNC) &_glmmrBase_Covariance_nngp__new, 3},
    {"_glmmrBase_Covariance_hsgp__new", (DL_FUNC) &_glmmrBase_Covariance_hsgp__new, 3},
    {"_glmmrBase_Covariance_ar__new", (DL_FUNC) &_glmmrBase_Covariance_ar__new, 4},
    {"_glmmrBase_Covariance__Z", (DL_FUNC) &_glmmrBase_Covariance__Z, 2},
    {"_glmmrBase_Covariance__ZL", (DL_FUNC) &_glmmrBase_Covariance__ZL, 2},
    {"_glmmrBase_Covariance__Update_parameters", (DL_FUNC) &_glmmrBase_Covariance__Update_parameters, 3},
    {"_glmmrBase_Covariance__D", (DL_FUNC) &_glmmrBase_Covariance__D, 2},
    {"_glmmrBase_Covariance__D_chol", (DL_FUNC) &_glmmrBase_Covariance__D_chol, 2},
    {"_glmmrBase_Covariance__B", (DL_FUNC) &_glmmrBase_Covariance__B, 2},
    {"_glmmrBase_Covariance__Q", (DL_FUNC) &_glmmrBase_Covariance__Q, 2},
    {"_glmmrBase_Covariance__log_likelihood", (DL_FUNC) &_glmmrBase_Covariance__log_likelihood, 3},
    {"_glmmrBase_Covariance__log_determinant", (DL_FUNC) &_glmmrBase_Covariance__log_determinant, 2},
    {"_glmmrBase_Covariance__n_cov_pars", (DL_FUNC) &_glmmrBase_Covariance__n_cov_pars, 2},
    {"_glmmrBase_Covariance__simulate_re", (DL_FUNC) &_glmmrBase_Covariance__simulate_re, 2},
    {"_glmmrBase_Covariance__make_sparse", (DL_FUNC) &_glmmrBase_Covariance__make_sparse, 2},
    {"_glmmrBase_Covariance__make_dense", (DL_FUNC) &_glmmrBase_Covariance__make_dense, 2},
    {"_glmmrBase_Covariance__set_nn", (DL_FUNC) &_glmmrBase_Covariance__set_nn, 2},
    {"_glmmrBase_Covariance__any_gr", (DL_FUNC) &_glmmrBase_Covariance__any_gr, 2},
    {"_glmmrBase_Covariance__get_val", (DL_FUNC) &_glmmrBase_Covariance__get_val, 4},
    {"_glmmrBase_Covariance__parameter_fn_index", (DL_FUNC) &_glmmrBase_Covariance__parameter_fn_index, 2},
    {"_glmmrBase_Covariance__re_terms", (DL_FUNC) &_glmmrBase_Covariance__re_terms, 2},
    {"_glmmrBase_Covariance__re_count", (DL_FUNC) &_glmmrBase_Covariance__re_count, 2},
    {"_glmmrBase_ModelBits__new", (DL_FUNC) &_glmmrBase_ModelBits__new, 7},
    {"_glmmrBase_ModelBits__update_beta", (DL_FUNC) &_glmmrBase_ModelBits__update_beta, 2},
    {"_glmmrBase_ModelBits__update_theta", (DL_FUNC) &_glmmrBase_ModelBits__update_theta, 2},
    {"_glmmrBase_Model__new_w_pars", (DL_FUNC) &_glmmrBase_Model__new_w_pars, 7},
    {"_glmmrBase_Model__new", (DL_FUNC) &_glmmrBase_Model__new, 5},
    {"_glmmrBase_Model_ar__new", (DL_FUNC) &_glmmrBase_Model_ar__new, 8},
    {"_glmmrBase_Model_nngp__new", (DL_FUNC) &_glmmrBase_Model_nngp__new, 6},
    {"_glmmrBase_Model_nngp__new_w_pars", (DL_FUNC) &_glmmrBase_Model_nngp__new_w_pars, 8},
    {"_glmmrBase_Model_hsgp__new", (DL_FUNC) &_glmmrBase_Model_hsgp__new, 5},
    {"_glmmrBase_Model_spde__new", (DL_FUNC) &_glmmrBase_Model_spde__new, 5},
    {"_glmmrBase_Model_hsgp__new_w_pars", (DL_FUNC) &_glmmrBase_Model_hsgp__new_w_pars, 7},
    {"_glmmrBase_Model__set_y", (DL_FUNC) &_glmmrBase_Model__set_y, 3},
    {"_glmmrBase_Model__set_offset", (DL_FUNC) &_glmmrBase_Model__set_offset, 3},
    {"_glmmrBase_Model__set_weights", (DL_FUNC) &_glmmrBase_Model__set_weights, 3},
    {"_glmmrBase_Model__P", (DL_FUNC) &_glmmrBase_Model__P, 2},
    {"_glmmrBase_Model__Q", (DL_FUNC) &_glmmrBase_Model__Q, 2},
    {"_glmmrBase_Model__theta_size", (DL_FUNC) &_glmmrBase_Model__theta_size, 2},
    {"_glmmrBase_Model__update_beta", (DL_FUNC) &_glmmrBase_Model__update_beta, 3},
    {"_glmmrBase_Model__update_theta", (DL_FUNC) &_glmmrBase_Model__update_theta, 3},
    {"_glmmrBase_Model__update_u", (DL_FUNC) &_glmmrBase_Model__update_u, 4},
    {"_glmmrBase_Model__set_quantile", (DL_FUNC) &_glmmrBase_Model__set_quantile, 3},
    {"_glmmrBase_Model__use_attenuation", (DL_FUNC) &_glmmrBase_Model__use_attenuation, 3},
    {"_glmmrBase_Model__update_W", (DL_FUNC) &_glmmrBase_Model__update_W, 2},
    {"_glmmrBase_Model__get_W", (DL_FUNC) &_glmmrBase_Model__get_W, 2},
    {"_glmmrBase_Model__get_gradients", (DL_FUNC) &_glmmrBase_Model__get_gradients, 2},
    {"_glmmrBase_Model__use_reml", (DL_FUNC) &_glmmrBase_Model__use_reml, 3},
    {"_glmmrBase_Model__set_bound", (DL_FUNC) &_glmmrBase_Model__set_bound, 5},
    {"_glmmrBase_Model__print_instructions", (DL_FUNC) &_glmmrBase_Model__print_instructions, 2},
    {"_glmmrBase_Model__set_bobyqa_control", (DL_FUNC) &_glmmrBase_Model__set_bobyqa_control, 5},
    {"_glmmrBase_Model__log_gradient", (DL_FUNC) &_glmmrBase_Model__log_gradient, 4},
    {"_glmmrBase_Model__linear_predictor", (DL_FUNC) &_glmmrBase_Model__linear_predictor, 2},
    {"_glmmrBase_Model__log_likelihood", (DL_FUNC) &_glmmrBase_Model__log_likelihood, 2},
    {"_glmmrBase_Model__n_cov_pars", (DL_FUNC) &_glmmrBase_Model__n_cov_pars, 2},
    {"_glmmrBase_Model__se_theta", (DL_FUNC) &_glmmrBase_Model__se_theta, 2},
    {"_glmmrBase_Model__Z", (DL_FUNC) &_glmmrBase_Model__Z, 2},
    {"_glmmrBase_Model__Z_needs_updating", (DL_FUNC) &_glmmrBase_Model__Z_needs_updating, 2},
    {"_glmmrBase_Model__cov_set_nn", (DL_FUNC) &_glmmrBase_Model__cov_set_nn, 2},
    {"_glmmrBase_Model__ml_beta", (DL_FUNC) &_glmmrBase_Model__ml_beta, 3},
    {"_glmmrBase_Model__ml_theta", (DL_FUNC) &_glmmrBase_Model__ml_theta, 3},
    {"_glmmrBase_Model__nr_beta", (DL_FUNC) &_glmmrBase_Model__nr_beta, 2},
    {"_glmmrBase_Model__nr_theta", (DL_FUNC) &_glmmrBase_Model__nr_theta, 2},
    {"_glmmrBase_Model__Sigma", (DL_FUNC) &_glmmrBase_Model__Sigma, 3},
    {"_glmmrBase_Model__information_matrix", (DL_FUNC) &_glmmrBase_Model__information_matrix, 2},
    {"_glmmrBase_Model__ave_information_matrix", (DL_FUNC) &_glmmrBase_Model__ave_information_matrix, 2},
    {"_glmmrBase_Model__check_convergence", (DL_FUNC) &_glmmrBase_Model__check_convergence, 6},
    {"_glmmrBase_Model__D", (DL_FUNC) &_glmmrBase_Model__D, 2},
    {"_glmmrBase_Model__log_re", (DL_FUNC) &_glmmrBase_Model__log_re, 2},
    {"_glmmrBase_Model__D_chol", (DL_FUNC) &_glmmrBase_Model__D_chol, 2},
    {"_glmmrBase_Model__u_log_likelihood", (DL_FUNC) &_glmmrBase_Model__u_log_likelihood, 3},
    {"_glmmrBase_Model__simulate_re", (DL_FUNC) &_glmmrBase_Model__simulate_re, 2},
    {"_glmmrBase_Model__re_terms", (DL_FUNC) &_glmmrBase_Model__re_terms, 2},
    {"_glmmrBase_Model__re_count", (DL_FUNC) &_glmmrBase_Model__re_count, 2},
    {"_glmmrBase_Model__parameter_fn_index", (DL_FUNC) &_glmmrBase_Model__parameter_fn_index, 2},
    {"_glmmrBase_Model__information_matrix_crude", (DL_FUNC) &_glmmrBase_Model__information_matrix_crude, 2},
    {"_glmmrBase_Model__obs_information_matrix", (DL_FUNC) &_glmmrBase_Model__obs_information_matrix, 2},
    {"_glmmrBase_Model__observed_information_matrix", (DL_FUNC) &_glmmrBase_Model__observed_information_matrix, 2},
    {"_glmmrBase_Model__u", (DL_FUNC) &_glmmrBase_Model__u, 3},
    {"_glmmrBase_Model__Zu", (DL_FUNC) &_glmmrBase_Model__Zu, 2},
    {"_glmmrBase_Model__X", (DL_FUNC) &_glmmrBase_Model__X, 2},
    {"_glmmrBase_Model__set_trace", (DL_FUNC) &_glmmrBase_Model__set_trace, 3},
    {"_glmmrBase_Model__get_beta", (DL_FUNC) &_glmmrBase_Model__get_beta, 2},
    {"_glmmrBase_Model__y", (DL_FUNC) &_glmmrBase_Model__y, 2},
    {"_glmmrBase_Model__get_theta", (DL_FUNC) &_glmmrBase_Model__get_theta, 2},
    {"_glmmrBase_Model__get_conv_z", (DL_FUNC) &_glmmrBase_Model__get_conv_z, 2},
    {"_glmmrBase_Model__get_conv_bf", (DL_FUNC) &_glmmrBase_Model__get_conv_bf, 2},
    {"_glmmrBase_Model__clear_conv_z", (DL_FUNC) &_glmmrBase_Model__clear_conv_z, 2},
    {"_glmmrBase_Model__clear_conv_bf", (DL_FUNC) &_glmmrBase_Model__clear_conv_bf, 2},
    {"_glmmrBase_Model__get_var_par", (DL_FUNC) &_glmmrBase_Model__get_var_par, 2},
    {"_glmmrBase_Model__get_variance", (DL_FUNC) &_glmmrBase_Model__get_variance, 2},
    {"_glmmrBase_Model__get_mean_u", (DL_FUNC) &_glmmrBase_Model__get_mean_u, 2},
    {"_glmmrBase_Model__check_for_errors", (DL_FUNC) &_glmmrBase_Model__check_for_errors, 2},
    {"_glmmrBase_Model__get_importance_weights", (DL_FUNC) &_glmmrBase_Model__get_importance_weights, 2},
    {"_glmmrBase_Model__set_var_par", (DL_FUNC) &_glmmrBase_Model__set_var_par, 3},
    {"_glmmrBase_Model__set_trials", (DL_FUNC) &_glmmrBase_Model__set_trials, 3},
    {"_glmmrBase_Model__L", (DL_FUNC) &_glmmrBase_Model__L, 2},
    {"_glmmrBase_Model__ZL", (DL_FUNC) &_glmmrBase_Model__ZL, 2},
    {"_glmmrBase_Model__xb", (DL_FUNC) &_glmmrBase_Model__xb, 2},
    {"_glmmrBase_near_semi_pd", (DL_FUNC) &_glmmrBase_near_semi_pd, 1},
    {"_glmmrBase_Covariance__submatrix", (DL_FUNC) &_glmmrBase_Covariance__submatrix, 2},
    {"_glmmrBase_Model_hsgp__set_approx_pars", (DL_FUNC) &_glmmrBase_Model_hsgp__set_approx_pars, 3},
    {"_glmmrBase_Model_spde__set_spde_data", (DL_FUNC) &_glmmrBase_Model_spde__set_spde_data, 5},
    {"_glmmrBase_Covariance_hsgp__set_approx_pars", (DL_FUNC) &_glmmrBase_Covariance_hsgp__set_approx_pars, 3},
    {"_glmmrBase_Model_hsgp__dim", (DL_FUNC) &_glmmrBase_Model_hsgp__dim, 1},
    {"_glmmrBase_Model_hsgp__lambda_spd", (DL_FUNC) &_glmmrBase_Model_hsgp__lambda_spd, 1},
    {"_glmmrBase_Model_hsgp__Phi", (DL_FUNC) &_glmmrBase_Model_hsgp__Phi, 1},
    {"_glmmrBase_Model_hsgp__set_anisotropic", (DL_FUNC) &_glmmrBase_Model_hsgp__set_anisotropic, 1},
    {"_glmmrBase_Model__aic", (DL_FUNC) &_glmmrBase_Model__aic, 2},
    {"_glmmrBase_Model__residuals", (DL_FUNC) &_glmmrBase_Model__residuals, 4},
    {"_glmmrBase_Model__posterior_u_sample", (DL_FUNC) &_glmmrBase_Model__posterior_u_sample, 6},
    {"_glmmrBase_Model__get_log_likelihood_values", (DL_FUNC) &_glmmrBase_Model__get_log_likelihood_values, 2},
    {"_glmmrBase_Model__u_diagnostic", (DL_FUNC) &_glmmrBase_Model__u_diagnostic, 2},
    {"_glmmrBase_Model__fit", (DL_FUNC) &_glmmrBase_Model__fit, 8},
    {"_glmmrBase_Model__marginal", (DL_FUNC) &_glmmrBase_Model__marginal, 14},
    {"_glmmrBase_Model__reset_fn_counter", (DL_FUNC) &_glmmrBase_Model__reset_fn_counter, 2},
    {"_glmmrBase_Model__get_fn_counter", (DL_FUNC) &_glmmrBase_Model__get_fn_counter, 2},
    {"_glmmrBase_Model__print_names", (DL_FUNC) &_glmmrBase_Model__print_names, 4},
    {"_glmmrBase_Model__set_sml_parameters", (DL_FUNC) &_glmmrBase_Model__set_sml_parameters, 6},
    {"_glmmrBase_Model__ll_diff_variance", (DL_FUNC) &_glmmrBase_Model__ll_diff_variance, 4},
    {"_glmmrBase_Model__make_sparse", (DL_FUNC) &_glmmrBase_Model__make_sparse, 2},
    {"_glmmrBase_Model__make_dense", (DL_FUNC) &_glmmrBase_Model__make_dense, 2},
    {"_glmmrBase_Model__beta_parameter_names", (DL_FUNC) &_glmmrBase_Model__beta_parameter_names, 2},
    {"_glmmrBase_Model__theta_parameter_names", (DL_FUNC) &_glmmrBase_Model__theta_parameter_names, 2},
    {"_glmmrBase_Model__any_nonlinear", (DL_FUNC) &_glmmrBase_Model__any_nonlinear, 2},
    {"_glmmrBase_Model__sandwich", (DL_FUNC) &_glmmrBase_Model__sandwich, 2},
    {"_glmmrBase_Model__infomat_theta", (DL_FUNC) &_glmmrBase_Model__infomat_theta, 2},
    {"_glmmrBase_Model__kenward_roger", (DL_FUNC) &_glmmrBase_Model__kenward_roger, 2},
    {"_glmmrBase_Model__small_sample_correction", (DL_FUNC) &_glmmrBase_Model__small_sample_correction, 4},
    {"_glmmrBase_Model__box", (DL_FUNC) &_glmmrBase_Model__box, 2},
    {"_glmmrBase_Model__cov_deriv", (DL_FUNC) &_glmmrBase_Model__cov_deriv, 2},
    {"_glmmrBase_Model__predict", (DL_FUNC) &_glmmrBase_Model__predict, 5},
    {"_glmmrBase_Model_spde__predict", (DL_FUNC) &_glmmrBase_Model_spde__predict, 5},
    {"_glmmrBase_Model_spde__re_var", (DL_FUNC) &_glmmrBase_Model_spde__re_var, 1},
    {"_glmmrBase_Model_spde__re_var_at", (DL_FUNC) &_glmmrBase_Model_spde__re_var_at, 2},
    {"_glmmrBase_Model_hsgp__re_var", (DL_FUNC) &_glmmrBase_Model_hsgp__re_var, 1},
    {"_glmmrBase_Model__predict_re", (DL_FUNC) &_glmmrBase_Model__predict_re, 5},
    {"_glmmrBase_hessian_from_formula", (DL_FUNC) &_glmmrBase_hessian_from_formula, 4},
    {"_glmmrBase_setParallel", (DL_FUNC) &_glmmrBase_setParallel, 2},
    {"_glmmrBase_re_names", (DL_FUNC) &_glmmrBase_re_names, 2},
    {"_glmmrBase_attenuate_xb", (DL_FUNC) &_glmmrBase_attenuate_xb, 4},
    {"_glmmrBase_dlinkdeta", (DL_FUNC) &_glmmrBase_dlinkdeta, 2},
    {"_glmmrBase_girling_algorithm", (DL_FUNC) &_glmmrBase_girling_algorithm, 4},
    {"_glmmrBase_get_variable_names", (DL_FUNC) &_glmmrBase_get_variable_names, 2},
    {NULL, NULL, 0}
};

RcppExport void R_init_glmmrBase(DllInfo *dll) {
    R_registerRoutines(dll, NULL, CallEntries, NULL, NULL);
    R_useDynamicSymbols(dll, FALSE);
}
