// 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

// regionModel__new
SEXP regionModel__new(const std::string& formula_, const Eigen::ArrayXXd& data_, const std::vector<std::string>& colnames_, const Eigen::MatrixXd& X_, const Eigen::ArrayXd& y_, const int niter_, int type);
RcppExport SEXP _rts2_regionModel__new(SEXP formula_SEXP, SEXP data_SEXP, SEXP colnames_SEXP, SEXP X_SEXP, SEXP y_SEXP, SEXP niter_SEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const std::string& >::type formula_(formula_SEXP);
    Rcpp::traits::input_parameter< const Eigen::ArrayXXd& >::type data_(data_SEXP);
    Rcpp::traits::input_parameter< const std::vector<std::string>& >::type colnames_(colnames_SEXP);
    Rcpp::traits::input_parameter< const Eigen::MatrixXd& >::type X_(X_SEXP);
    Rcpp::traits::input_parameter< const Eigen::ArrayXd& >::type y_(y_SEXP);
    Rcpp::traits::input_parameter< const int >::type niter_(niter_SEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(regionModel__new(formula_, data_, colnames_, X_, y_, niter_, type));
    return rcpp_result_gen;
END_RCPP
}
// regionModel_ar__new
SEXP regionModel_ar__new(const std::string& formula_, const Eigen::ArrayXXd& data_, const std::vector<std::string>& colnames_, const Eigen::MatrixXd& X_, const Eigen::ArrayXd& y_, const int niter_, const int T_);
RcppExport SEXP _rts2_regionModel_ar__new(SEXP formula_SEXP, SEXP data_SEXP, SEXP colnames_SEXP, SEXP X_SEXP, SEXP y_SEXP, SEXP niter_SEXP, SEXP T_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const std::string& >::type formula_(formula_SEXP);
    Rcpp::traits::input_parameter< const Eigen::ArrayXXd& >::type data_(data_SEXP);
    Rcpp::traits::input_parameter< const std::vector<std::string>& >::type colnames_(colnames_SEXP);
    Rcpp::traits::input_parameter< const Eigen::MatrixXd& >::type X_(X_SEXP);
    Rcpp::traits::input_parameter< const Eigen::ArrayXd& >::type y_(y_SEXP);
    Rcpp::traits::input_parameter< const int >::type niter_(niter_SEXP);
    Rcpp::traits::input_parameter< const int >::type T_(T_SEXP);
    rcpp_result_gen = Rcpp::wrap(regionModel_ar__new(formula_, data_, colnames_, X_, y_, niter_, T_));
    return rcpp_result_gen;
END_RCPP
}
// regionModel_hsgp__new
SEXP regionModel_hsgp__new(const std::string& formula_, const Eigen::ArrayXXd& data_, const std::vector<std::string>& colnames_, const Eigen::MatrixXd& X_, const Eigen::ArrayXd& y_, const int niter_, const std::vector<int>& m_, const double L_boundary_);
RcppExport SEXP _rts2_regionModel_hsgp__new(SEXP formula_SEXP, SEXP data_SEXP, SEXP colnames_SEXP, SEXP X_SEXP, SEXP y_SEXP, SEXP niter_SEXP, SEXP m_SEXP, SEXP L_boundary_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const std::string& >::type formula_(formula_SEXP);
    Rcpp::traits::input_parameter< const Eigen::ArrayXXd& >::type data_(data_SEXP);
    Rcpp::traits::input_parameter< const std::vector<std::string>& >::type colnames_(colnames_SEXP);
    Rcpp::traits::input_parameter< const Eigen::MatrixXd& >::type X_(X_SEXP);
    Rcpp::traits::input_parameter< const Eigen::ArrayXd& >::type y_(y_SEXP);
    Rcpp::traits::input_parameter< const int >::type niter_(niter_SEXP);
    Rcpp::traits::input_parameter< const std::vector<int>& >::type m_(m_SEXP);
    Rcpp::traits::input_parameter< const double >::type L_boundary_(L_boundary_SEXP);
    rcpp_result_gen = Rcpp::wrap(regionModel_hsgp__new(formula_, data_, colnames_, X_, y_, niter_, m_, L_boundary_));
    return rcpp_result_gen;
END_RCPP
}
// regionModel_spde__new
SEXP regionModel_spde__new(const std::string& formula_, const Eigen::ArrayXXd& data_, const std::vector<std::string>& colnames_, const Eigen::MatrixXd& X_, const Eigen::ArrayXd& y_, const int niter_, const Eigen::SparseMatrix<double>& A_loc_, const Eigen::VectorXd& C_diag_, const Eigen::SparseMatrix<double>& G_, const int alpha_);
RcppExport SEXP _rts2_regionModel_spde__new(SEXP formula_SEXP, SEXP data_SEXP, SEXP colnames_SEXP, SEXP X_SEXP, SEXP y_SEXP, SEXP niter_SEXP, SEXP A_loc_SEXP, SEXP C_diag_SEXP, SEXP G_SEXP, SEXP alpha_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const std::string& >::type formula_(formula_SEXP);
    Rcpp::traits::input_parameter< const Eigen::ArrayXXd& >::type data_(data_SEXP);
    Rcpp::traits::input_parameter< const std::vector<std::string>& >::type colnames_(colnames_SEXP);
    Rcpp::traits::input_parameter< const Eigen::MatrixXd& >::type X_(X_SEXP);
    Rcpp::traits::input_parameter< const Eigen::ArrayXd& >::type y_(y_SEXP);
    Rcpp::traits::input_parameter< const int >::type niter_(niter_SEXP);
    Rcpp::traits::input_parameter< const Eigen::SparseMatrix<double>& >::type A_loc_(A_loc_SEXP);
    Rcpp::traits::input_parameter< const Eigen::VectorXd& >::type C_diag_(C_diag_SEXP);
    Rcpp::traits::input_parameter< const Eigen::SparseMatrix<double>& >::type G_(G_SEXP);
    Rcpp::traits::input_parameter< const int >::type alpha_(alpha_SEXP);
    rcpp_result_gen = Rcpp::wrap(regionModel_spde__new(formula_, data_, colnames_, X_, y_, niter_, A_loc_, C_diag_, G_, alpha_));
    return rcpp_result_gen;
END_RCPP
}
// regionModel__zu_variance_full
SEXP regionModel__zu_variance_full(SEXP xp, int type);
RcppExport SEXP _rts2_regionModel__zu_variance_full(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(regionModel__zu_variance_full(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// regionModel_spde__zu_variance_full
SEXP regionModel_spde__zu_variance_full(SEXP xp, SEXP A_pred_, SEXP X_pred_);
RcppExport SEXP _rts2_regionModel_spde__zu_variance_full(SEXP xpSEXP, SEXP A_pred_SEXP, SEXP X_pred_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_pred_(A_pred_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type X_pred_(X_pred_SEXP);
    rcpp_result_gen = Rcpp::wrap(regionModel_spde__zu_variance_full(xp, A_pred_, X_pred_));
    return rcpp_result_gen;
END_RCPP
}
// regionModel__set_weights
void regionModel__set_weights(SEXP xp, Rcpp::IntegerVector i, Rcpp::IntegerVector p, Rcpp::NumericVector x, int nrow, int ncol, int type);
RcppExport SEXP _rts2_regionModel__set_weights(SEXP xpSEXP, SEXP iSEXP, SEXP pSEXP, SEXP xSEXP, SEXP nrowSEXP, SEXP ncolSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type i(iSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type p(pSEXP);
    Rcpp::traits::input_parameter< Rcpp::NumericVector >::type x(xSEXP);
    Rcpp::traits::input_parameter< int >::type nrow(nrowSEXP);
    Rcpp::traits::input_parameter< int >::type ncol(ncolSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    regionModel__set_weights(xp, i, p, x, nrow, ncol, type);
    return R_NilValue;
END_RCPP
}
// regionModel__set_theta
void regionModel__set_theta(SEXP xp, std::vector<double> theta, int type);
RcppExport SEXP _rts2_regionModel__set_theta(SEXP xpSEXP, SEXP thetaSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< std::vector<double> >::type theta(thetaSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    regionModel__set_theta(xp, theta, type);
    return R_NilValue;
END_RCPP
}
// regionModel__set_offset
void regionModel__set_offset(SEXP xp, Eigen::VectorXd offset, int type);
RcppExport SEXP _rts2_regionModel__set_offset(SEXP xpSEXP, SEXP offsetSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< Eigen::VectorXd >::type offset(offsetSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    regionModel__set_offset(xp, offset, type);
    return R_NilValue;
END_RCPP
}
// regionModel__fit
void regionModel__fit(SEXP xp, double tol, int max_iter, int hist, int k0, int type);
RcppExport SEXP _rts2_regionModel__fit(SEXP xpSEXP, SEXP tolSEXP, SEXP max_iterSEXP, 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< double >::type tol(tolSEXP);
    Rcpp::traits::input_parameter< int >::type max_iter(max_iterSEXP);
    Rcpp::traits::input_parameter< int >::type hist(histSEXP);
    Rcpp::traits::input_parameter< int >::type k0(k0SEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    regionModel__fit(xp, tol, max_iter, hist, k0, type);
    return R_NilValue;
END_RCPP
}
// regionModel__information_matrix
SEXP regionModel__information_matrix(SEXP xp, bool mc, int type);
RcppExport SEXP _rts2_regionModel__information_matrix(SEXP xpSEXP, SEXP mcSEXP, 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 mc(mcSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(regionModel__information_matrix(xp, mc, type));
    return rcpp_result_gen;
END_RCPP
}
// regionModel__information_matrix_theta
SEXP regionModel__information_matrix_theta(SEXP xp, int type);
RcppExport SEXP _rts2_regionModel__information_matrix_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(regionModel__information_matrix_theta(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// regionModel__u
SEXP regionModel__u(SEXP xp, bool scaled, int type);
RcppExport SEXP _rts2_regionModel__u(SEXP xpSEXP, SEXP scaledSEXP, 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(scaledSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    rcpp_result_gen = Rcpp::wrap(regionModel__u(xp, scaled, type));
    return rcpp_result_gen;
END_RCPP
}
// regionModel__get_beta
SEXP regionModel__get_beta(SEXP xp, int type);
RcppExport SEXP _rts2_regionModel__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(regionModel__get_beta(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// regionModel__get_weights
SEXP regionModel__get_weights(SEXP xp, int type);
RcppExport SEXP _rts2_regionModel__get_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(regionModel__get_weights(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// regionModel__log_likelihood
SEXP regionModel__log_likelihood(SEXP xp, int type);
RcppExport SEXP _rts2_regionModel__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(regionModel__log_likelihood(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// regionModel__get_theta
SEXP regionModel__get_theta(SEXP xp, int type);
RcppExport SEXP _rts2_regionModel__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(regionModel__get_theta(xp, type));
    return rcpp_result_gen;
END_RCPP
}
// regionModel__set_trace
void regionModel__set_trace(SEXP xp, int trace, int type);
RcppExport SEXP _rts2_regionModel__set_trace(SEXP xpSEXP, SEXP traceSEXP, SEXP typeSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type xp(xpSEXP);
    Rcpp::traits::input_parameter< int >::type trace(traceSEXP);
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    regionModel__set_trace(xp, trace, type);
    return R_NilValue;
END_RCPP
}
// max_dist
double max_dist(const Eigen::ArrayXXd& x);
RcppExport SEXP _rts2_max_dist(SEXP xSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const Eigen::ArrayXXd& >::type x(xSEXP);
    rcpp_result_gen = Rcpp::wrap(max_dist(x));
    return rcpp_result_gen;
END_RCPP
}
// semivariogram
Eigen::ArrayXXd semivariogram(const Eigen::ArrayXXd& x, const Eigen::ArrayXd& offs, const Eigen::ArrayXd& y, int nbins, int nT);
RcppExport SEXP _rts2_semivariogram(SEXP xSEXP, SEXP offsSEXP, SEXP ySEXP, SEXP nbinsSEXP, SEXP nTSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const Eigen::ArrayXXd& >::type x(xSEXP);
    Rcpp::traits::input_parameter< const Eigen::ArrayXd& >::type offs(offsSEXP);
    Rcpp::traits::input_parameter< const Eigen::ArrayXd& >::type y(ySEXP);
    Rcpp::traits::input_parameter< int >::type nbins(nbinsSEXP);
    Rcpp::traits::input_parameter< int >::type nT(nTSEXP);
    rcpp_result_gen = Rcpp::wrap(semivariogram(x, offs, y, nbins, nT));
    return rcpp_result_gen;
END_RCPP
}
// GridData__NN
SEXP GridData__NN(SEXP ptr_);
RcppExport SEXP _rts2_GridData__NN(SEXP ptr_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type ptr_(ptr_SEXP);
    rcpp_result_gen = Rcpp::wrap(GridData__NN(ptr_));
    return rcpp_result_gen;
END_RCPP
}
// GridData__gen_NN
void GridData__gen_NN(SEXP ptr_, SEXP m_);
RcppExport SEXP _rts2_GridData__gen_NN(SEXP ptr_SEXP, SEXP m_SEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type ptr_(ptr_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type m_(m_SEXP);
    GridData__gen_NN(ptr_, m_);
    return R_NilValue;
END_RCPP
}
// GridData__new
SEXP GridData__new(SEXP x_, SEXP t_);
RcppExport SEXP _rts2_GridData__new(SEXP x_SEXP, SEXP t_SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type x_(x_SEXP);
    Rcpp::traits::input_parameter< SEXP >::type t_(t_SEXP);
    rcpp_result_gen = Rcpp::wrap(GridData__new(x_, t_));
    return rcpp_result_gen;
END_RCPP
}

RcppExport SEXP _rcpp_module_boot_stan_fit4rtsbayes_mod();
RcppExport SEXP _rcpp_module_boot_stan_fit4rtslgcp_region_mod();

static const R_CallMethodDef CallEntries[] = {
    {"_rts2_regionModel__new", (DL_FUNC) &_rts2_regionModel__new, 7},
    {"_rts2_regionModel_ar__new", (DL_FUNC) &_rts2_regionModel_ar__new, 7},
    {"_rts2_regionModel_hsgp__new", (DL_FUNC) &_rts2_regionModel_hsgp__new, 8},
    {"_rts2_regionModel_spde__new", (DL_FUNC) &_rts2_regionModel_spde__new, 10},
    {"_rts2_regionModel__zu_variance_full", (DL_FUNC) &_rts2_regionModel__zu_variance_full, 2},
    {"_rts2_regionModel_spde__zu_variance_full", (DL_FUNC) &_rts2_regionModel_spde__zu_variance_full, 3},
    {"_rts2_regionModel__set_weights", (DL_FUNC) &_rts2_regionModel__set_weights, 7},
    {"_rts2_regionModel__set_theta", (DL_FUNC) &_rts2_regionModel__set_theta, 3},
    {"_rts2_regionModel__set_offset", (DL_FUNC) &_rts2_regionModel__set_offset, 3},
    {"_rts2_regionModel__fit", (DL_FUNC) &_rts2_regionModel__fit, 6},
    {"_rts2_regionModel__information_matrix", (DL_FUNC) &_rts2_regionModel__information_matrix, 3},
    {"_rts2_regionModel__information_matrix_theta", (DL_FUNC) &_rts2_regionModel__information_matrix_theta, 2},
    {"_rts2_regionModel__u", (DL_FUNC) &_rts2_regionModel__u, 3},
    {"_rts2_regionModel__get_beta", (DL_FUNC) &_rts2_regionModel__get_beta, 2},
    {"_rts2_regionModel__get_weights", (DL_FUNC) &_rts2_regionModel__get_weights, 2},
    {"_rts2_regionModel__log_likelihood", (DL_FUNC) &_rts2_regionModel__log_likelihood, 2},
    {"_rts2_regionModel__get_theta", (DL_FUNC) &_rts2_regionModel__get_theta, 2},
    {"_rts2_regionModel__set_trace", (DL_FUNC) &_rts2_regionModel__set_trace, 3},
    {"_rts2_max_dist", (DL_FUNC) &_rts2_max_dist, 1},
    {"_rts2_semivariogram", (DL_FUNC) &_rts2_semivariogram, 5},
    {"_rts2_GridData__NN", (DL_FUNC) &_rts2_GridData__NN, 1},
    {"_rts2_GridData__gen_NN", (DL_FUNC) &_rts2_GridData__gen_NN, 2},
    {"_rts2_GridData__new", (DL_FUNC) &_rts2_GridData__new, 2},
    {"_rcpp_module_boot_stan_fit4rtsbayes_mod", (DL_FUNC) &_rcpp_module_boot_stan_fit4rtsbayes_mod, 0},
    {"_rcpp_module_boot_stan_fit4rtslgcp_region_mod", (DL_FUNC) &_rcpp_module_boot_stan_fit4rtslgcp_region_mod, 0},
    {NULL, NULL, 0}
};

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