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

// qbridge
SEXP qbridge(NumericVector TT, NumericVector Q, NumericVector qtime, NumericMatrix Z, NumericMatrix W, NumericVector weights, double tol);
RcppExport SEXP _truncProxy_qbridge(SEXP TTSEXP, SEXP QSEXP, SEXP qtimeSEXP, SEXP ZSEXP, SEXP WSEXP, SEXP weightsSEXP, SEXP tolSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< NumericVector >::type TT(TTSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type Q(QSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type qtime(qtimeSEXP);
    Rcpp::traits::input_parameter< NumericMatrix >::type Z(ZSEXP);
    Rcpp::traits::input_parameter< NumericMatrix >::type W(WSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type weights(weightsSEXP);
    Rcpp::traits::input_parameter< double >::type tol(tolSEXP);
    rcpp_result_gen = Rcpp::wrap(qbridge(TT, Q, qtime, Z, W, weights, tol));
    return rcpp_result_gen;
END_RCPP
}
// qbridge_IPCW
SEXP qbridge_IPCW(NumericVector TT, NumericVector Q, NumericVector qtime, NumericMatrix Z, NumericMatrix W, NumericMatrix IPCW_weights, NumericVector weights, double tol);
RcppExport SEXP _truncProxy_qbridge_IPCW(SEXP TTSEXP, SEXP QSEXP, SEXP qtimeSEXP, SEXP ZSEXP, SEXP WSEXP, SEXP IPCW_weightsSEXP, SEXP weightsSEXP, SEXP tolSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< NumericVector >::type TT(TTSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type Q(QSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type qtime(qtimeSEXP);
    Rcpp::traits::input_parameter< NumericMatrix >::type Z(ZSEXP);
    Rcpp::traits::input_parameter< NumericMatrix >::type W(WSEXP);
    Rcpp::traits::input_parameter< NumericMatrix >::type IPCW_weights(IPCW_weightsSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type weights(weightsSEXP);
    Rcpp::traits::input_parameter< double >::type tol(tolSEXP);
    rcpp_result_gen = Rcpp::wrap(qbridge_IPCW(TT, Q, qtime, Z, W, IPCW_weights, weights, tol));
    return rcpp_result_gen;
END_RCPP
}

static const R_CallMethodDef CallEntries[] = {
    {"_truncProxy_qbridge", (DL_FUNC) &_truncProxy_qbridge, 7},
    {"_truncProxy_qbridge_IPCW", (DL_FUNC) &_truncProxy_qbridge_IPCW, 8},
    {NULL, NULL, 0}
};

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