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

#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

// compute_att_gt_cpp
Rcpp::DataFrame compute_att_gt_cpp(Rcpp::IntegerVector unit_id, Rcpp::IntegerVector time_id, Rcpp::NumericVector outcome, Rcpp::IntegerVector cohort, Rcpp::IntegerVector cohorts, Rcpp::IntegerVector all_times, std::string control_group, int anticipation);
RcppExport SEXP _fixes_compute_att_gt_cpp(SEXP unit_idSEXP, SEXP time_idSEXP, SEXP outcomeSEXP, SEXP cohortSEXP, SEXP cohortsSEXP, SEXP all_timesSEXP, SEXP control_groupSEXP, SEXP anticipationSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type unit_id(unit_idSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type time_id(time_idSEXP);
    Rcpp::traits::input_parameter< Rcpp::NumericVector >::type outcome(outcomeSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type cohort(cohortSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type cohorts(cohortsSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type all_times(all_timesSEXP);
    Rcpp::traits::input_parameter< std::string >::type control_group(control_groupSEXP);
    Rcpp::traits::input_parameter< int >::type anticipation(anticipationSEXP);
    rcpp_result_gen = Rcpp::wrap(compute_att_gt_cpp(unit_id, time_id, outcome, cohort, cohorts, all_times, control_group, anticipation));
    return rcpp_result_gen;
END_RCPP
}

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

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