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

// OLS_cpp
arma::vec OLS_cpp(const arma::mat& X, const arma::vec& y);
RcppExport SEXP _lavaSearch2_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(OLS_cpp(X, y));
    return rcpp_result_gen;
END_RCPP
}
// OLS2_cpp
arma::vec OLS2_cpp(const arma::mat& X, const arma::vec& y);
RcppExport SEXP _lavaSearch2_OLS2_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(OLS2_cpp(X, y));
    return rcpp_result_gen;
END_RCPP
}
// wildBoot_cpp
arma::mat wildBoot_cpp(const arma::mat& iid, std::vector< arma::uvec > lsIndexModel, int nSample, int nObs, int nModel, int p);
RcppExport SEXP _lavaSearch2_wildBoot_cpp(SEXP iidSEXP, SEXP lsIndexModelSEXP, SEXP nSampleSEXP, SEXP nObsSEXP, SEXP nModelSEXP, SEXP pSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::mat& >::type iid(iidSEXP);
    Rcpp::traits::input_parameter< std::vector< arma::uvec > >::type lsIndexModel(lsIndexModelSEXP);
    Rcpp::traits::input_parameter< int >::type nSample(nSampleSEXP);
    Rcpp::traits::input_parameter< int >::type nObs(nObsSEXP);
    Rcpp::traits::input_parameter< int >::type nModel(nModelSEXP);
    Rcpp::traits::input_parameter< int >::type p(pSEXP);
    rcpp_result_gen = Rcpp::wrap(wildBoot_cpp(iid, lsIndexModel, nSample, nObs, nModel, p));
    return rcpp_result_gen;
END_RCPP
}

static const R_CallMethodDef CallEntries[] = {
    {"_lavaSearch2_OLS_cpp", (DL_FUNC) &_lavaSearch2_OLS_cpp, 2},
    {"_lavaSearch2_OLS2_cpp", (DL_FUNC) &_lavaSearch2_OLS2_cpp, 2},
    {"_lavaSearch2_wildBoot_cpp", (DL_FUNC) &_lavaSearch2_wildBoot_cpp, 6},
    {NULL, NULL, 0}
};

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