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

// unit_ols_cpp
List unit_ols_cpp(const arma::mat& X, const arma::vec& y);
RcppExport SEXP _dcce_unit_ols_cpp(SEXP XSEXP, SEXP ySEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::mat& >::type X(XSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type y(ySEXP);
    rcpp_result_gen = Rcpp::wrap(unit_ols_cpp(X, y));
    return rcpp_result_gen;
END_RCPP
}
// batch_ols_cpp
List batch_ols_cpp(const List& panel_list);
RcppExport SEXP _dcce_batch_ols_cpp(SEXP panel_listSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const List& >::type panel_list(panel_listSEXP);
    rcpp_result_gen = Rcpp::wrap(batch_ols_cpp(panel_list));
    return rcpp_result_gen;
END_RCPP
}

static const R_CallMethodDef CallEntries[] = {
    {"_dcce_unit_ols_cpp", (DL_FUNC) &_dcce_unit_ols_cpp, 2},
    {"_dcce_batch_ols_cpp", (DL_FUNC) &_dcce_batch_ols_cpp, 1},
    {NULL, NULL, 0}
};

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