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

#include <RcppArmadillo.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

// lp_vector_cpp
NumericVector lp_vector_cpp(NumericVector x, double a1);
RcppExport SEXP _onlineforecast_lp_vector_cpp(SEXP xSEXP, SEXP a1SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< NumericVector >::type x(xSEXP);
    Rcpp::traits::input_parameter< double >::type a1(a1SEXP);
    rcpp_result_gen = Rcpp::wrap(lp_vector_cpp(x, a1));
    return rcpp_result_gen;
END_RCPP
}
// rls_update_cpp
Rcpp::List rls_update_cpp(arma::vec y, arma::mat X, arma::vec theta, arma::mat P, double lambda, unsigned int k, unsigned int n, unsigned int np, unsigned int istart, unsigned int kmax);
RcppExport SEXP _onlineforecast_rls_update_cpp(SEXP ySEXP, SEXP XSEXP, SEXP thetaSEXP, SEXP PSEXP, SEXP lambdaSEXP, SEXP kSEXP, SEXP nSEXP, SEXP npSEXP, SEXP istartSEXP, SEXP kmaxSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::vec >::type y(ySEXP);
    Rcpp::traits::input_parameter< arma::mat >::type X(XSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type theta(thetaSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type P(PSEXP);
    Rcpp::traits::input_parameter< double >::type lambda(lambdaSEXP);
    Rcpp::traits::input_parameter< unsigned int >::type k(kSEXP);
    Rcpp::traits::input_parameter< unsigned int >::type n(nSEXP);
    Rcpp::traits::input_parameter< unsigned int >::type np(npSEXP);
    Rcpp::traits::input_parameter< unsigned int >::type istart(istartSEXP);
    Rcpp::traits::input_parameter< unsigned int >::type kmax(kmaxSEXP);
    rcpp_result_gen = Rcpp::wrap(rls_update_cpp(y, X, theta, P, lambda, k, n, np, istart, kmax));
    return rcpp_result_gen;
END_RCPP
}

static const R_CallMethodDef CallEntries[] = {
    {"_onlineforecast_lp_vector_cpp", (DL_FUNC) &_onlineforecast_lp_vector_cpp, 2},
    {"_onlineforecast_rls_update_cpp", (DL_FUNC) &_onlineforecast_rls_update_cpp, 10},
    {NULL, NULL, 0}
};

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