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

// KalmanFilter_back
Eigen::MatrixXd KalmanFilter_back(Eigen::VectorXd rhos, Eigen::VectorXd dee, Eigen::VectorXd R, Eigen::MatrixXd Q, Eigen::MatrixXd C, Eigen::MatrixXd P, Eigen::VectorXd xhat, int Time, Eigen::MatrixXd y, Eigen::MatrixXd obs);
RcppExport SEXP _EcoEnsemble_KalmanFilter_back(SEXP rhosSEXP, SEXP deeSEXP, SEXP RSEXP, SEXP QSEXP, SEXP CSEXP, SEXP PSEXP, SEXP xhatSEXP, SEXP TimeSEXP, SEXP ySEXP, SEXP obsSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< Eigen::VectorXd >::type rhos(rhosSEXP);
    Rcpp::traits::input_parameter< Eigen::VectorXd >::type dee(deeSEXP);
    Rcpp::traits::input_parameter< Eigen::VectorXd >::type R(RSEXP);
    Rcpp::traits::input_parameter< Eigen::MatrixXd >::type Q(QSEXP);
    Rcpp::traits::input_parameter< Eigen::MatrixXd >::type C(CSEXP);
    Rcpp::traits::input_parameter< Eigen::MatrixXd >::type P(PSEXP);
    Rcpp::traits::input_parameter< Eigen::VectorXd >::type xhat(xhatSEXP);
    Rcpp::traits::input_parameter< int >::type Time(TimeSEXP);
    Rcpp::traits::input_parameter< Eigen::MatrixXd >::type y(ySEXP);
    Rcpp::traits::input_parameter< Eigen::MatrixXd >::type obs(obsSEXP);
    rcpp_result_gen = Rcpp::wrap(KalmanFilter_back(rhos, dee, R, Q, C, P, xhat, Time, y, obs));
    return rcpp_result_gen;
END_RCPP
}

RcppExport SEXP _rcpp_module_boot_stan_fit4ensemble_model_mod();
RcppExport SEXP _rcpp_module_boot_stan_fit4ensemble_model_explicit_mod();
RcppExport SEXP _rcpp_module_boot_stan_fit4ensemble_model_hierarchical_mod();
RcppExport SEXP _rcpp_module_boot_stan_fit4ensemble_model_hierarchical_explicit_mod();
RcppExport SEXP _rcpp_module_boot_stan_fit4ensemble_model_hierarchical_withdrivers_mod();
RcppExport SEXP _rcpp_module_boot_stan_fit4ensemble_model_hierarchical_withdrivers_explicit_mod();
RcppExport SEXP _rcpp_module_boot_stan_fit4ensemble_model_withdrivers_mod();
RcppExport SEXP _rcpp_module_boot_stan_fit4ensemble_model_withdrivers_explicit_mod();
RcppExport SEXP _rcpp_module_boot_stan_fit4ensemble_prior_mod();
RcppExport SEXP _rcpp_module_boot_stan_fit4ensemble_prior_hierarchical_mod();
RcppExport SEXP _rcpp_module_boot_stan_fit4ensemble_prior_hierarchical_withdrivers_mod();
RcppExport SEXP _rcpp_module_boot_stan_fit4ensemble_prior_withdrivers_mod();

static const R_CallMethodDef CallEntries[] = {
    {"_EcoEnsemble_KalmanFilter_back", (DL_FUNC) &_EcoEnsemble_KalmanFilter_back, 10},
    {"_rcpp_module_boot_stan_fit4ensemble_model_mod", (DL_FUNC) &_rcpp_module_boot_stan_fit4ensemble_model_mod, 0},
    {"_rcpp_module_boot_stan_fit4ensemble_model_explicit_mod", (DL_FUNC) &_rcpp_module_boot_stan_fit4ensemble_model_explicit_mod, 0},
    {"_rcpp_module_boot_stan_fit4ensemble_model_hierarchical_mod", (DL_FUNC) &_rcpp_module_boot_stan_fit4ensemble_model_hierarchical_mod, 0},
    {"_rcpp_module_boot_stan_fit4ensemble_model_hierarchical_explicit_mod", (DL_FUNC) &_rcpp_module_boot_stan_fit4ensemble_model_hierarchical_explicit_mod, 0},
    {"_rcpp_module_boot_stan_fit4ensemble_model_hierarchical_withdrivers_mod", (DL_FUNC) &_rcpp_module_boot_stan_fit4ensemble_model_hierarchical_withdrivers_mod, 0},
    {"_rcpp_module_boot_stan_fit4ensemble_model_hierarchical_withdrivers_explicit_mod", (DL_FUNC) &_rcpp_module_boot_stan_fit4ensemble_model_hierarchical_withdrivers_explicit_mod, 0},
    {"_rcpp_module_boot_stan_fit4ensemble_model_withdrivers_mod", (DL_FUNC) &_rcpp_module_boot_stan_fit4ensemble_model_withdrivers_mod, 0},
    {"_rcpp_module_boot_stan_fit4ensemble_model_withdrivers_explicit_mod", (DL_FUNC) &_rcpp_module_boot_stan_fit4ensemble_model_withdrivers_explicit_mod, 0},
    {"_rcpp_module_boot_stan_fit4ensemble_prior_mod", (DL_FUNC) &_rcpp_module_boot_stan_fit4ensemble_prior_mod, 0},
    {"_rcpp_module_boot_stan_fit4ensemble_prior_hierarchical_mod", (DL_FUNC) &_rcpp_module_boot_stan_fit4ensemble_prior_hierarchical_mod, 0},
    {"_rcpp_module_boot_stan_fit4ensemble_prior_hierarchical_withdrivers_mod", (DL_FUNC) &_rcpp_module_boot_stan_fit4ensemble_prior_hierarchical_withdrivers_mod, 0},
    {"_rcpp_module_boot_stan_fit4ensemble_prior_withdrivers_mod", (DL_FUNC) &_rcpp_module_boot_stan_fit4ensemble_prior_withdrivers_mod, 0},
    {NULL, NULL, 0}
};

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