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

// Yt
List Yt(DataFrame data, NumericVector times);
RcppExport SEXP _relsurv_Yt(SEXP dataSEXP, SEXP timesSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< DataFrame >::type data(dataSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type times(timesSEXP);
    rcpp_result_gen = Rcpp::wrap(Yt(data, times));
    return rcpp_result_gen;
END_RCPP
}
// dNt
List dNt(DataFrame data, NumericVector times);
RcppExport SEXP _relsurv_dNt(SEXP dataSEXP, SEXP timesSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< DataFrame >::type data(dataSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type times(timesSEXP);
    rcpp_result_gen = Rcpp::wrap(dNt(data, times));
    return rcpp_result_gen;
END_RCPP
}
// prepareX
NumericMatrix prepareX(IntegerVector Yt, NumericMatrix xt);
RcppExport SEXP _relsurv_prepareX(SEXP YtSEXP, SEXP xtSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< IntegerVector >::type Yt(YtSEXP);
    Rcpp::traits::input_parameter< NumericMatrix >::type xt(xtSEXP);
    rcpp_result_gen = Rcpp::wrap(prepareX(Yt, xt));
    return rcpp_result_gen;
END_RCPP
}
// fitOLS
arma::colvec fitOLS(arma::mat mX, arma::vec dNt, IntegerVector Yt);
RcppExport SEXP _relsurv_fitOLS(SEXP mXSEXP, SEXP dNtSEXP, SEXP YtSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::mat >::type mX(mXSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type dNt(dNtSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type Yt(YtSEXP);
    rcpp_result_gen = Rcpp::wrap(fitOLS(mX, dNt, Yt));
    return rcpp_result_gen;
END_RCPP
}
// fitOLS2
List fitOLS2(arma::mat mX, arma::vec dNt, IntegerVector Yt);
RcppExport SEXP _relsurv_fitOLS2(SEXP mXSEXP, SEXP dNtSEXP, SEXP YtSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::mat >::type mX(mXSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type dNt(dNtSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type Yt(YtSEXP);
    rcpp_result_gen = Rcpp::wrap(fitOLS2(mX, dNt, Yt));
    return rcpp_result_gen;
END_RCPP
}
// fitOLSconst
List fitOLSconst(arma::mat mX, arma::mat mZ, arma::vec dNt, IntegerVector Yt);
RcppExport SEXP _relsurv_fitOLSconst(SEXP mXSEXP, SEXP mZSEXP, SEXP dNtSEXP, SEXP YtSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::mat >::type mX(mXSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type mZ(mZSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type dNt(dNtSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type Yt(YtSEXP);
    rcpp_result_gen = Rcpp::wrap(fitOLSconst(mX, mZ, dNt, Yt));
    return rcpp_result_gen;
END_RCPP
}
// rcpp_unlist
NumericVector rcpp_unlist(List listObject);
RcppExport SEXP _relsurv_rcpp_unlist(SEXP listObjectSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< List >::type listObject(listObjectSEXP);
    rcpp_result_gen = Rcpp::wrap(rcpp_unlist(listObject));
    return rcpp_result_gen;
END_RCPP
}
// build_array3
NumericVector build_array3(NumericVector x, IntegerVector dimensions);
RcppExport SEXP _relsurv_build_array3(SEXP xSEXP, SEXP dimensionsSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< NumericVector >::type x(xSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type dimensions(dimensionsSEXP);
    rcpp_result_gen = Rcpp::wrap(build_array3(x, dimensions));
    return rcpp_result_gen;
END_RCPP
}

RcppExport SEXP cmpfast(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP);
RcppExport SEXP expc(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP);
RcppExport SEXP netfastpinter(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP);
RcppExport SEXP netfastpinter2(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP);
RcppExport SEXP netwei(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP);
RcppExport SEXP netweiDM(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP);

static const R_CallMethodDef CallEntries[] = {
    {"_relsurv_Yt", (DL_FUNC) &_relsurv_Yt, 2},
    {"_relsurv_dNt", (DL_FUNC) &_relsurv_dNt, 2},
    {"_relsurv_prepareX", (DL_FUNC) &_relsurv_prepareX, 2},
    {"_relsurv_fitOLS", (DL_FUNC) &_relsurv_fitOLS, 3},
    {"_relsurv_fitOLS2", (DL_FUNC) &_relsurv_fitOLS2, 3},
    {"_relsurv_fitOLSconst", (DL_FUNC) &_relsurv_fitOLSconst, 4},
    {"_relsurv_rcpp_unlist", (DL_FUNC) &_relsurv_rcpp_unlist, 1},
    {"_relsurv_build_array3", (DL_FUNC) &_relsurv_build_array3, 2},
    {"cmpfast",        (DL_FUNC) &cmpfast,         9},
    {"expc",           (DL_FUNC) &expc,            6},
    {"netfastpinter",  (DL_FUNC) &netfastpinter,   9},
    {"netfastpinter2", (DL_FUNC) &netfastpinter2, 10},
    {"netwei",         (DL_FUNC) &netwei,          8},
    {"netweiDM",       (DL_FUNC) &netweiDM,        9},
    {NULL, NULL, 0}
};

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