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

#include "Colossus_types.h"
#include <RcppEigen.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

// cox_ph_Omnibus_transition
List cox_ph_Omnibus_transition(IntegerVector term_n, StringVector tform, NumericMatrix& a_ns, IntegerVector dfc, MatrixXd df0, int fir, string modelform, List Control, const MatrixXd df_m, NumericVector tu, IntegerVector KeepConstant, int term_tot, NumericVector Strata_vals, VectorXd cens_weight, List model_control, MatrixXd Lin_Sys, VectorXd Lin_Res);
RcppExport SEXP _Colossus_cox_ph_Omnibus_transition(SEXP term_nSEXP, SEXP tformSEXP, SEXP a_nsSEXP, SEXP dfcSEXP, SEXP df0SEXP, SEXP firSEXP, SEXP modelformSEXP, SEXP ControlSEXP, SEXP df_mSEXP, SEXP tuSEXP, SEXP KeepConstantSEXP, SEXP term_totSEXP, SEXP Strata_valsSEXP, SEXP cens_weightSEXP, SEXP model_controlSEXP, SEXP Lin_SysSEXP, SEXP Lin_ResSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< IntegerVector >::type term_n(term_nSEXP);
    Rcpp::traits::input_parameter< StringVector >::type tform(tformSEXP);
    Rcpp::traits::input_parameter< NumericMatrix& >::type a_ns(a_nsSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type dfc(dfcSEXP);
    Rcpp::traits::input_parameter< MatrixXd >::type df0(df0SEXP);
    Rcpp::traits::input_parameter< int >::type fir(firSEXP);
    Rcpp::traits::input_parameter< string >::type modelform(modelformSEXP);
    Rcpp::traits::input_parameter< List >::type Control(ControlSEXP);
    Rcpp::traits::input_parameter< const MatrixXd >::type df_m(df_mSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type tu(tuSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type KeepConstant(KeepConstantSEXP);
    Rcpp::traits::input_parameter< int >::type term_tot(term_totSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type Strata_vals(Strata_valsSEXP);
    Rcpp::traits::input_parameter< VectorXd >::type cens_weight(cens_weightSEXP);
    Rcpp::traits::input_parameter< List >::type model_control(model_controlSEXP);
    Rcpp::traits::input_parameter< MatrixXd >::type Lin_Sys(Lin_SysSEXP);
    Rcpp::traits::input_parameter< VectorXd >::type Lin_Res(Lin_ResSEXP);
    rcpp_result_gen = Rcpp::wrap(cox_ph_Omnibus_transition(term_n, tform, a_ns, dfc, df0, fir, modelform, Control, df_m, tu, KeepConstant, term_tot, Strata_vals, cens_weight, model_control, Lin_Sys, Lin_Res));
    return rcpp_result_gen;
END_RCPP
}
// pois_Omnibus_transition
List pois_Omnibus_transition(MatrixXd PyrC, IntegerVector term_n, StringVector tform, NumericMatrix& a_ns, IntegerVector dfc, MatrixXd df0, int fir, string modelform, List Control, IntegerVector KeepConstant, int term_tot, NumericVector Strata_vals, MatrixXd dfs, List model_control, MatrixXd Lin_Sys, VectorXd Lin_Res);
RcppExport SEXP _Colossus_pois_Omnibus_transition(SEXP PyrCSEXP, SEXP term_nSEXP, SEXP tformSEXP, SEXP a_nsSEXP, SEXP dfcSEXP, SEXP df0SEXP, SEXP firSEXP, SEXP modelformSEXP, SEXP ControlSEXP, SEXP KeepConstantSEXP, SEXP term_totSEXP, SEXP Strata_valsSEXP, SEXP dfsSEXP, SEXP model_controlSEXP, SEXP Lin_SysSEXP, SEXP Lin_ResSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< MatrixXd >::type PyrC(PyrCSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type term_n(term_nSEXP);
    Rcpp::traits::input_parameter< StringVector >::type tform(tformSEXP);
    Rcpp::traits::input_parameter< NumericMatrix& >::type a_ns(a_nsSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type dfc(dfcSEXP);
    Rcpp::traits::input_parameter< MatrixXd >::type df0(df0SEXP);
    Rcpp::traits::input_parameter< int >::type fir(firSEXP);
    Rcpp::traits::input_parameter< string >::type modelform(modelformSEXP);
    Rcpp::traits::input_parameter< List >::type Control(ControlSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type KeepConstant(KeepConstantSEXP);
    Rcpp::traits::input_parameter< int >::type term_tot(term_totSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type Strata_vals(Strata_valsSEXP);
    Rcpp::traits::input_parameter< MatrixXd >::type dfs(dfsSEXP);
    Rcpp::traits::input_parameter< List >::type model_control(model_controlSEXP);
    Rcpp::traits::input_parameter< MatrixXd >::type Lin_Sys(Lin_SysSEXP);
    Rcpp::traits::input_parameter< VectorXd >::type Lin_Res(Lin_ResSEXP);
    rcpp_result_gen = Rcpp::wrap(pois_Omnibus_transition(PyrC, term_n, tform, a_ns, dfc, df0, fir, modelform, Control, KeepConstant, term_tot, Strata_vals, dfs, model_control, Lin_Sys, Lin_Res));
    return rcpp_result_gen;
END_RCPP
}
// Assigned_Event_Poisson_transition
List Assigned_Event_Poisson_transition(MatrixXd PyrC, NumericVector Strata_vals, MatrixXd dfs, IntegerVector term_n, StringVector tform, NumericVector a_n, IntegerVector dfc, MatrixXd df0, int fir, string modelform, List Control, IntegerVector KeepConstant, int term_tot, List model_control);
RcppExport SEXP _Colossus_Assigned_Event_Poisson_transition(SEXP PyrCSEXP, SEXP Strata_valsSEXP, SEXP dfsSEXP, SEXP term_nSEXP, SEXP tformSEXP, SEXP a_nSEXP, SEXP dfcSEXP, SEXP df0SEXP, SEXP firSEXP, SEXP modelformSEXP, SEXP ControlSEXP, SEXP KeepConstantSEXP, SEXP term_totSEXP, SEXP model_controlSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< MatrixXd >::type PyrC(PyrCSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type Strata_vals(Strata_valsSEXP);
    Rcpp::traits::input_parameter< MatrixXd >::type dfs(dfsSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type term_n(term_nSEXP);
    Rcpp::traits::input_parameter< StringVector >::type tform(tformSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type a_n(a_nSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type dfc(dfcSEXP);
    Rcpp::traits::input_parameter< MatrixXd >::type df0(df0SEXP);
    Rcpp::traits::input_parameter< int >::type fir(firSEXP);
    Rcpp::traits::input_parameter< string >::type modelform(modelformSEXP);
    Rcpp::traits::input_parameter< List >::type Control(ControlSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type KeepConstant(KeepConstantSEXP);
    Rcpp::traits::input_parameter< int >::type term_tot(term_totSEXP);
    Rcpp::traits::input_parameter< List >::type model_control(model_controlSEXP);
    rcpp_result_gen = Rcpp::wrap(Assigned_Event_Poisson_transition(PyrC, Strata_vals, dfs, term_n, tform, a_n, dfc, df0, fir, modelform, Control, KeepConstant, term_tot, model_control));
    return rcpp_result_gen;
END_RCPP
}
// Plot_Omnibus_transition
List Plot_Omnibus_transition(IntegerVector term_n, StringVector tform, NumericVector a_n, IntegerVector dfc, MatrixXd df0, int fir, int der_iden, string modelform, List Control, const MatrixXd df_m, NumericVector tu, IntegerVector KeepConstant, int term_tot, NumericVector Strata_vals, VectorXd cens_weight, List model_control);
RcppExport SEXP _Colossus_Plot_Omnibus_transition(SEXP term_nSEXP, SEXP tformSEXP, SEXP a_nSEXP, SEXP dfcSEXP, SEXP df0SEXP, SEXP firSEXP, SEXP der_idenSEXP, SEXP modelformSEXP, SEXP ControlSEXP, SEXP df_mSEXP, SEXP tuSEXP, SEXP KeepConstantSEXP, SEXP term_totSEXP, SEXP Strata_valsSEXP, SEXP cens_weightSEXP, SEXP model_controlSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< IntegerVector >::type term_n(term_nSEXP);
    Rcpp::traits::input_parameter< StringVector >::type tform(tformSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type a_n(a_nSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type dfc(dfcSEXP);
    Rcpp::traits::input_parameter< MatrixXd >::type df0(df0SEXP);
    Rcpp::traits::input_parameter< int >::type fir(firSEXP);
    Rcpp::traits::input_parameter< int >::type der_iden(der_idenSEXP);
    Rcpp::traits::input_parameter< string >::type modelform(modelformSEXP);
    Rcpp::traits::input_parameter< List >::type Control(ControlSEXP);
    Rcpp::traits::input_parameter< const MatrixXd >::type df_m(df_mSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type tu(tuSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type KeepConstant(KeepConstantSEXP);
    Rcpp::traits::input_parameter< int >::type term_tot(term_totSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type Strata_vals(Strata_valsSEXP);
    Rcpp::traits::input_parameter< VectorXd >::type cens_weight(cens_weightSEXP);
    Rcpp::traits::input_parameter< List >::type model_control(model_controlSEXP);
    rcpp_result_gen = Rcpp::wrap(Plot_Omnibus_transition(term_n, tform, a_n, dfc, df0, fir, der_iden, modelform, Control, df_m, tu, KeepConstant, term_tot, Strata_vals, cens_weight, model_control));
    return rcpp_result_gen;
END_RCPP
}
// cox_ph_Omnibus_Bounds_transition
List cox_ph_Omnibus_Bounds_transition(IntegerVector term_n, StringVector tform, NumericVector a_n, IntegerVector dfc, MatrixXd df0, int fir, string modelform, List Control, const MatrixXd df_m, NumericVector tu, IntegerVector KeepConstant, int term_tot, NumericVector Strata_vals, VectorXd cens_weight, List model_control, MatrixXd Lin_Sys, VectorXd Lin_Res);
RcppExport SEXP _Colossus_cox_ph_Omnibus_Bounds_transition(SEXP term_nSEXP, SEXP tformSEXP, SEXP a_nSEXP, SEXP dfcSEXP, SEXP df0SEXP, SEXP firSEXP, SEXP modelformSEXP, SEXP ControlSEXP, SEXP df_mSEXP, SEXP tuSEXP, SEXP KeepConstantSEXP, SEXP term_totSEXP, SEXP Strata_valsSEXP, SEXP cens_weightSEXP, SEXP model_controlSEXP, SEXP Lin_SysSEXP, SEXP Lin_ResSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< IntegerVector >::type term_n(term_nSEXP);
    Rcpp::traits::input_parameter< StringVector >::type tform(tformSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type a_n(a_nSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type dfc(dfcSEXP);
    Rcpp::traits::input_parameter< MatrixXd >::type df0(df0SEXP);
    Rcpp::traits::input_parameter< int >::type fir(firSEXP);
    Rcpp::traits::input_parameter< string >::type modelform(modelformSEXP);
    Rcpp::traits::input_parameter< List >::type Control(ControlSEXP);
    Rcpp::traits::input_parameter< const MatrixXd >::type df_m(df_mSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type tu(tuSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type KeepConstant(KeepConstantSEXP);
    Rcpp::traits::input_parameter< int >::type term_tot(term_totSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type Strata_vals(Strata_valsSEXP);
    Rcpp::traits::input_parameter< VectorXd >::type cens_weight(cens_weightSEXP);
    Rcpp::traits::input_parameter< List >::type model_control(model_controlSEXP);
    Rcpp::traits::input_parameter< MatrixXd >::type Lin_Sys(Lin_SysSEXP);
    Rcpp::traits::input_parameter< VectorXd >::type Lin_Res(Lin_ResSEXP);
    rcpp_result_gen = Rcpp::wrap(cox_ph_Omnibus_Bounds_transition(term_n, tform, a_n, dfc, df0, fir, modelform, Control, df_m, tu, KeepConstant, term_tot, Strata_vals, cens_weight, model_control, Lin_Sys, Lin_Res));
    return rcpp_result_gen;
END_RCPP
}
// cox_ph_Omnibus_CurveSearch_transition
List cox_ph_Omnibus_CurveSearch_transition(IntegerVector term_n, StringVector tform, NumericVector a_n, IntegerVector dfc, MatrixXd df0, int fir, string modelform, List Control, const MatrixXd df_m, NumericVector tu, IntegerVector KeepConstant, int term_tot, NumericVector Strata_vals, VectorXd cens_weight, List model_control, MatrixXd Lin_Sys, VectorXd Lin_Res);
RcppExport SEXP _Colossus_cox_ph_Omnibus_CurveSearch_transition(SEXP term_nSEXP, SEXP tformSEXP, SEXP a_nSEXP, SEXP dfcSEXP, SEXP df0SEXP, SEXP firSEXP, SEXP modelformSEXP, SEXP ControlSEXP, SEXP df_mSEXP, SEXP tuSEXP, SEXP KeepConstantSEXP, SEXP term_totSEXP, SEXP Strata_valsSEXP, SEXP cens_weightSEXP, SEXP model_controlSEXP, SEXP Lin_SysSEXP, SEXP Lin_ResSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< IntegerVector >::type term_n(term_nSEXP);
    Rcpp::traits::input_parameter< StringVector >::type tform(tformSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type a_n(a_nSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type dfc(dfcSEXP);
    Rcpp::traits::input_parameter< MatrixXd >::type df0(df0SEXP);
    Rcpp::traits::input_parameter< int >::type fir(firSEXP);
    Rcpp::traits::input_parameter< string >::type modelform(modelformSEXP);
    Rcpp::traits::input_parameter< List >::type Control(ControlSEXP);
    Rcpp::traits::input_parameter< const MatrixXd >::type df_m(df_mSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type tu(tuSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type KeepConstant(KeepConstantSEXP);
    Rcpp::traits::input_parameter< int >::type term_tot(term_totSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type Strata_vals(Strata_valsSEXP);
    Rcpp::traits::input_parameter< VectorXd >::type cens_weight(cens_weightSEXP);
    Rcpp::traits::input_parameter< List >::type model_control(model_controlSEXP);
    Rcpp::traits::input_parameter< MatrixXd >::type Lin_Sys(Lin_SysSEXP);
    Rcpp::traits::input_parameter< VectorXd >::type Lin_Res(Lin_ResSEXP);
    rcpp_result_gen = Rcpp::wrap(cox_ph_Omnibus_CurveSearch_transition(term_n, tform, a_n, dfc, df0, fir, modelform, Control, df_m, tu, KeepConstant, term_tot, Strata_vals, cens_weight, model_control, Lin_Sys, Lin_Res));
    return rcpp_result_gen;
END_RCPP
}
// pois_Omnibus_CurveSearch_transition
List pois_Omnibus_CurveSearch_transition(MatrixXd PyrC, IntegerVector term_n, StringVector tform, NumericVector a_n, IntegerVector dfc, MatrixXd df0, int fir, string modelform, List Control, IntegerVector KeepConstant, int term_tot, NumericVector Strata_vals, MatrixXd dfs, List model_control, MatrixXd Lin_Sys, VectorXd Lin_Res);
RcppExport SEXP _Colossus_pois_Omnibus_CurveSearch_transition(SEXP PyrCSEXP, SEXP term_nSEXP, SEXP tformSEXP, SEXP a_nSEXP, SEXP dfcSEXP, SEXP df0SEXP, SEXP firSEXP, SEXP modelformSEXP, SEXP ControlSEXP, SEXP KeepConstantSEXP, SEXP term_totSEXP, SEXP Strata_valsSEXP, SEXP dfsSEXP, SEXP model_controlSEXP, SEXP Lin_SysSEXP, SEXP Lin_ResSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< MatrixXd >::type PyrC(PyrCSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type term_n(term_nSEXP);
    Rcpp::traits::input_parameter< StringVector >::type tform(tformSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type a_n(a_nSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type dfc(dfcSEXP);
    Rcpp::traits::input_parameter< MatrixXd >::type df0(df0SEXP);
    Rcpp::traits::input_parameter< int >::type fir(firSEXP);
    Rcpp::traits::input_parameter< string >::type modelform(modelformSEXP);
    Rcpp::traits::input_parameter< List >::type Control(ControlSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type KeepConstant(KeepConstantSEXP);
    Rcpp::traits::input_parameter< int >::type term_tot(term_totSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type Strata_vals(Strata_valsSEXP);
    Rcpp::traits::input_parameter< MatrixXd >::type dfs(dfsSEXP);
    Rcpp::traits::input_parameter< List >::type model_control(model_controlSEXP);
    Rcpp::traits::input_parameter< MatrixXd >::type Lin_Sys(Lin_SysSEXP);
    Rcpp::traits::input_parameter< VectorXd >::type Lin_Res(Lin_ResSEXP);
    rcpp_result_gen = Rcpp::wrap(pois_Omnibus_CurveSearch_transition(PyrC, term_n, tform, a_n, dfc, df0, fir, modelform, Control, KeepConstant, term_tot, Strata_vals, dfs, model_control, Lin_Sys, Lin_Res));
    return rcpp_result_gen;
END_RCPP
}
// pois_Omnibus_Bounds_transition
List pois_Omnibus_Bounds_transition(MatrixXd PyrC, IntegerVector term_n, StringVector tform, NumericVector a_n, IntegerVector dfc, MatrixXd df0, int fir, string modelform, List Control, IntegerVector KeepConstant, int term_tot, NumericVector Strata_vals, MatrixXd dfs, List model_control, MatrixXd Lin_Sys, VectorXd Lin_Res);
RcppExport SEXP _Colossus_pois_Omnibus_Bounds_transition(SEXP PyrCSEXP, SEXP term_nSEXP, SEXP tformSEXP, SEXP a_nSEXP, SEXP dfcSEXP, SEXP df0SEXP, SEXP firSEXP, SEXP modelformSEXP, SEXP ControlSEXP, SEXP KeepConstantSEXP, SEXP term_totSEXP, SEXP Strata_valsSEXP, SEXP dfsSEXP, SEXP model_controlSEXP, SEXP Lin_SysSEXP, SEXP Lin_ResSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< MatrixXd >::type PyrC(PyrCSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type term_n(term_nSEXP);
    Rcpp::traits::input_parameter< StringVector >::type tform(tformSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type a_n(a_nSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type dfc(dfcSEXP);
    Rcpp::traits::input_parameter< MatrixXd >::type df0(df0SEXP);
    Rcpp::traits::input_parameter< int >::type fir(firSEXP);
    Rcpp::traits::input_parameter< string >::type modelform(modelformSEXP);
    Rcpp::traits::input_parameter< List >::type Control(ControlSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type KeepConstant(KeepConstantSEXP);
    Rcpp::traits::input_parameter< int >::type term_tot(term_totSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type Strata_vals(Strata_valsSEXP);
    Rcpp::traits::input_parameter< MatrixXd >::type dfs(dfsSEXP);
    Rcpp::traits::input_parameter< List >::type model_control(model_controlSEXP);
    Rcpp::traits::input_parameter< MatrixXd >::type Lin_Sys(Lin_SysSEXP);
    Rcpp::traits::input_parameter< VectorXd >::type Lin_Res(Lin_ResSEXP);
    rcpp_result_gen = Rcpp::wrap(pois_Omnibus_Bounds_transition(PyrC, term_n, tform, a_n, dfc, df0, fir, modelform, Control, KeepConstant, term_tot, Strata_vals, dfs, model_control, Lin_Sys, Lin_Res));
    return rcpp_result_gen;
END_RCPP
}
// pois_Residual_transition
List pois_Residual_transition(MatrixXd PyrC, IntegerVector term_n, StringVector tform, NumericVector a_n, IntegerVector dfc, MatrixXd df0, int fir, string modelform, List Control, IntegerVector KeepConstant, int term_tot, NumericVector Strata_vals, MatrixXd dfs, List model_control);
RcppExport SEXP _Colossus_pois_Residual_transition(SEXP PyrCSEXP, SEXP term_nSEXP, SEXP tformSEXP, SEXP a_nSEXP, SEXP dfcSEXP, SEXP df0SEXP, SEXP firSEXP, SEXP modelformSEXP, SEXP ControlSEXP, SEXP KeepConstantSEXP, SEXP term_totSEXP, SEXP Strata_valsSEXP, SEXP dfsSEXP, SEXP model_controlSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< MatrixXd >::type PyrC(PyrCSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type term_n(term_nSEXP);
    Rcpp::traits::input_parameter< StringVector >::type tform(tformSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type a_n(a_nSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type dfc(dfcSEXP);
    Rcpp::traits::input_parameter< MatrixXd >::type df0(df0SEXP);
    Rcpp::traits::input_parameter< int >::type fir(firSEXP);
    Rcpp::traits::input_parameter< string >::type modelform(modelformSEXP);
    Rcpp::traits::input_parameter< List >::type Control(ControlSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type KeepConstant(KeepConstantSEXP);
    Rcpp::traits::input_parameter< int >::type term_tot(term_totSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type Strata_vals(Strata_valsSEXP);
    Rcpp::traits::input_parameter< MatrixXd >::type dfs(dfsSEXP);
    Rcpp::traits::input_parameter< List >::type model_control(model_controlSEXP);
    rcpp_result_gen = Rcpp::wrap(pois_Residual_transition(PyrC, term_n, tform, a_n, dfc, df0, fir, modelform, Control, KeepConstant, term_tot, Strata_vals, dfs, model_control));
    return rcpp_result_gen;
END_RCPP
}
// cox_ph_multidose_Omnibus_transition
List cox_ph_multidose_Omnibus_transition(IntegerVector term_n, StringVector tform, NumericVector a_n, IntegerMatrix dose_cols, IntegerVector dose_index, IntegerVector dfc, MatrixXd df0, MatrixXd df1, int fir, string modelform, List Control, const MatrixXd df_m, NumericVector tu, IntegerVector KeepConstant, int term_tot, NumericVector Strata_vals, VectorXd cens_weight, List model_control, MatrixXd Lin_Sys, VectorXd Lin_Res);
RcppExport SEXP _Colossus_cox_ph_multidose_Omnibus_transition(SEXP term_nSEXP, SEXP tformSEXP, SEXP a_nSEXP, SEXP dose_colsSEXP, SEXP dose_indexSEXP, SEXP dfcSEXP, SEXP df0SEXP, SEXP df1SEXP, SEXP firSEXP, SEXP modelformSEXP, SEXP ControlSEXP, SEXP df_mSEXP, SEXP tuSEXP, SEXP KeepConstantSEXP, SEXP term_totSEXP, SEXP Strata_valsSEXP, SEXP cens_weightSEXP, SEXP model_controlSEXP, SEXP Lin_SysSEXP, SEXP Lin_ResSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< IntegerVector >::type term_n(term_nSEXP);
    Rcpp::traits::input_parameter< StringVector >::type tform(tformSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type a_n(a_nSEXP);
    Rcpp::traits::input_parameter< IntegerMatrix >::type dose_cols(dose_colsSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type dose_index(dose_indexSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type dfc(dfcSEXP);
    Rcpp::traits::input_parameter< MatrixXd >::type df0(df0SEXP);
    Rcpp::traits::input_parameter< MatrixXd >::type df1(df1SEXP);
    Rcpp::traits::input_parameter< int >::type fir(firSEXP);
    Rcpp::traits::input_parameter< string >::type modelform(modelformSEXP);
    Rcpp::traits::input_parameter< List >::type Control(ControlSEXP);
    Rcpp::traits::input_parameter< const MatrixXd >::type df_m(df_mSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type tu(tuSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type KeepConstant(KeepConstantSEXP);
    Rcpp::traits::input_parameter< int >::type term_tot(term_totSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type Strata_vals(Strata_valsSEXP);
    Rcpp::traits::input_parameter< VectorXd >::type cens_weight(cens_weightSEXP);
    Rcpp::traits::input_parameter< List >::type model_control(model_controlSEXP);
    Rcpp::traits::input_parameter< MatrixXd >::type Lin_Sys(Lin_SysSEXP);
    Rcpp::traits::input_parameter< VectorXd >::type Lin_Res(Lin_ResSEXP);
    rcpp_result_gen = Rcpp::wrap(cox_ph_multidose_Omnibus_transition(term_n, tform, a_n, dose_cols, dose_index, dfc, df0, df1, fir, modelform, Control, df_m, tu, KeepConstant, term_tot, Strata_vals, cens_weight, model_control, Lin_Sys, Lin_Res));
    return rcpp_result_gen;
END_RCPP
}
// pois_multidose_Omnibus_transition
List pois_multidose_Omnibus_transition(MatrixXd PyrC, IntegerVector term_n, StringVector tform, NumericVector a_n, IntegerMatrix dose_cols, IntegerVector dose_index, IntegerVector dfc, MatrixXd df0, MatrixXd df1, int fir, string modelform, List Control, IntegerVector KeepConstant, int term_tot, NumericVector Strata_vals, MatrixXd dfs, List model_control, MatrixXd Lin_Sys, VectorXd Lin_Res);
RcppExport SEXP _Colossus_pois_multidose_Omnibus_transition(SEXP PyrCSEXP, SEXP term_nSEXP, SEXP tformSEXP, SEXP a_nSEXP, SEXP dose_colsSEXP, SEXP dose_indexSEXP, SEXP dfcSEXP, SEXP df0SEXP, SEXP df1SEXP, SEXP firSEXP, SEXP modelformSEXP, SEXP ControlSEXP, SEXP KeepConstantSEXP, SEXP term_totSEXP, SEXP Strata_valsSEXP, SEXP dfsSEXP, SEXP model_controlSEXP, SEXP Lin_SysSEXP, SEXP Lin_ResSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< MatrixXd >::type PyrC(PyrCSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type term_n(term_nSEXP);
    Rcpp::traits::input_parameter< StringVector >::type tform(tformSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type a_n(a_nSEXP);
    Rcpp::traits::input_parameter< IntegerMatrix >::type dose_cols(dose_colsSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type dose_index(dose_indexSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type dfc(dfcSEXP);
    Rcpp::traits::input_parameter< MatrixXd >::type df0(df0SEXP);
    Rcpp::traits::input_parameter< MatrixXd >::type df1(df1SEXP);
    Rcpp::traits::input_parameter< int >::type fir(firSEXP);
    Rcpp::traits::input_parameter< string >::type modelform(modelformSEXP);
    Rcpp::traits::input_parameter< List >::type Control(ControlSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type KeepConstant(KeepConstantSEXP);
    Rcpp::traits::input_parameter< int >::type term_tot(term_totSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type Strata_vals(Strata_valsSEXP);
    Rcpp::traits::input_parameter< MatrixXd >::type dfs(dfsSEXP);
    Rcpp::traits::input_parameter< List >::type model_control(model_controlSEXP);
    Rcpp::traits::input_parameter< MatrixXd >::type Lin_Sys(Lin_SysSEXP);
    Rcpp::traits::input_parameter< VectorXd >::type Lin_Res(Lin_ResSEXP);
    rcpp_result_gen = Rcpp::wrap(pois_multidose_Omnibus_transition(PyrC, term_n, tform, a_n, dose_cols, dose_index, dfc, df0, df1, fir, modelform, Control, KeepConstant, term_tot, Strata_vals, dfs, model_control, Lin_Sys, Lin_Res));
    return rcpp_result_gen;
END_RCPP
}
// caco_Omnibus_transition
List caco_Omnibus_transition(IntegerVector term_n, StringVector tform, NumericMatrix& a_ns, IntegerVector dfc, MatrixXd df0, int fir, string modelform, List Control, const MatrixXd df_m, NumericVector tu, IntegerVector KeepConstant, int term_tot, NumericVector Strata_vals, List model_control, MatrixXd Lin_Sys, VectorXd Lin_Res);
RcppExport SEXP _Colossus_caco_Omnibus_transition(SEXP term_nSEXP, SEXP tformSEXP, SEXP a_nsSEXP, SEXP dfcSEXP, SEXP df0SEXP, SEXP firSEXP, SEXP modelformSEXP, SEXP ControlSEXP, SEXP df_mSEXP, SEXP tuSEXP, SEXP KeepConstantSEXP, SEXP term_totSEXP, SEXP Strata_valsSEXP, SEXP model_controlSEXP, SEXP Lin_SysSEXP, SEXP Lin_ResSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< IntegerVector >::type term_n(term_nSEXP);
    Rcpp::traits::input_parameter< StringVector >::type tform(tformSEXP);
    Rcpp::traits::input_parameter< NumericMatrix& >::type a_ns(a_nsSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type dfc(dfcSEXP);
    Rcpp::traits::input_parameter< MatrixXd >::type df0(df0SEXP);
    Rcpp::traits::input_parameter< int >::type fir(firSEXP);
    Rcpp::traits::input_parameter< string >::type modelform(modelformSEXP);
    Rcpp::traits::input_parameter< List >::type Control(ControlSEXP);
    Rcpp::traits::input_parameter< const MatrixXd >::type df_m(df_mSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type tu(tuSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type KeepConstant(KeepConstantSEXP);
    Rcpp::traits::input_parameter< int >::type term_tot(term_totSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type Strata_vals(Strata_valsSEXP);
    Rcpp::traits::input_parameter< List >::type model_control(model_controlSEXP);
    Rcpp::traits::input_parameter< MatrixXd >::type Lin_Sys(Lin_SysSEXP);
    Rcpp::traits::input_parameter< VectorXd >::type Lin_Res(Lin_ResSEXP);
    rcpp_result_gen = Rcpp::wrap(caco_Omnibus_transition(term_n, tform, a_ns, dfc, df0, fir, modelform, Control, df_m, tu, KeepConstant, term_tot, Strata_vals, model_control, Lin_Sys, Lin_Res));
    return rcpp_result_gen;
END_RCPP
}
// logist_Omnibus_transition
List logist_Omnibus_transition(MatrixXd CountEvent, IntegerVector term_n, StringVector tform, NumericMatrix& a_ns, IntegerVector dfc, MatrixXd df0, int fir, string modelform, List Control, IntegerVector KeepConstant, int term_tot, List model_control, MatrixXd Lin_Sys, VectorXd Lin_Res);
RcppExport SEXP _Colossus_logist_Omnibus_transition(SEXP CountEventSEXP, SEXP term_nSEXP, SEXP tformSEXP, SEXP a_nsSEXP, SEXP dfcSEXP, SEXP df0SEXP, SEXP firSEXP, SEXP modelformSEXP, SEXP ControlSEXP, SEXP KeepConstantSEXP, SEXP term_totSEXP, SEXP model_controlSEXP, SEXP Lin_SysSEXP, SEXP Lin_ResSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< MatrixXd >::type CountEvent(CountEventSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type term_n(term_nSEXP);
    Rcpp::traits::input_parameter< StringVector >::type tform(tformSEXP);
    Rcpp::traits::input_parameter< NumericMatrix& >::type a_ns(a_nsSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type dfc(dfcSEXP);
    Rcpp::traits::input_parameter< MatrixXd >::type df0(df0SEXP);
    Rcpp::traits::input_parameter< int >::type fir(firSEXP);
    Rcpp::traits::input_parameter< string >::type modelform(modelformSEXP);
    Rcpp::traits::input_parameter< List >::type Control(ControlSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type KeepConstant(KeepConstantSEXP);
    Rcpp::traits::input_parameter< int >::type term_tot(term_totSEXP);
    Rcpp::traits::input_parameter< List >::type model_control(model_controlSEXP);
    Rcpp::traits::input_parameter< MatrixXd >::type Lin_Sys(Lin_SysSEXP);
    Rcpp::traits::input_parameter< VectorXd >::type Lin_Res(Lin_ResSEXP);
    rcpp_result_gen = Rcpp::wrap(logist_Omnibus_transition(CountEvent, term_n, tform, a_ns, dfc, df0, fir, modelform, Control, KeepConstant, term_tot, model_control, Lin_Sys, Lin_Res));
    return rcpp_result_gen;
END_RCPP
}
// Write_Time_Dep
void Write_Time_Dep(const NumericMatrix df0_Times, const NumericMatrix df0_dep, const NumericMatrix df0_const, const NumericVector df0_event, double dt, string filename, StringVector tform_tdep, NumericVector tu, bool iscox, int nthreads);
RcppExport SEXP _Colossus_Write_Time_Dep(SEXP df0_TimesSEXP, SEXP df0_depSEXP, SEXP df0_constSEXP, SEXP df0_eventSEXP, SEXP dtSEXP, SEXP filenameSEXP, SEXP tform_tdepSEXP, SEXP tuSEXP, SEXP iscoxSEXP, SEXP nthreadsSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const NumericMatrix >::type df0_Times(df0_TimesSEXP);
    Rcpp::traits::input_parameter< const NumericMatrix >::type df0_dep(df0_depSEXP);
    Rcpp::traits::input_parameter< const NumericMatrix >::type df0_const(df0_constSEXP);
    Rcpp::traits::input_parameter< const NumericVector >::type df0_event(df0_eventSEXP);
    Rcpp::traits::input_parameter< double >::type dt(dtSEXP);
    Rcpp::traits::input_parameter< string >::type filename(filenameSEXP);
    Rcpp::traits::input_parameter< StringVector >::type tform_tdep(tform_tdepSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type tu(tuSEXP);
    Rcpp::traits::input_parameter< bool >::type iscox(iscoxSEXP);
    Rcpp::traits::input_parameter< int >::type nthreads(nthreadsSEXP);
    Write_Time_Dep(df0_Times, df0_dep, df0_const, df0_event, dt, filename, tform_tdep, tu, iscox, nthreads);
    return R_NilValue;
END_RCPP
}
// OMP_Check
bool OMP_Check();
RcppExport SEXP _Colossus_OMP_Check() {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    rcpp_result_gen = Rcpp::wrap(OMP_Check());
    return rcpp_result_gen;
END_RCPP
}

static const R_CallMethodDef CallEntries[] = {
    {"_Colossus_cox_ph_Omnibus_transition", (DL_FUNC) &_Colossus_cox_ph_Omnibus_transition, 17},
    {"_Colossus_pois_Omnibus_transition", (DL_FUNC) &_Colossus_pois_Omnibus_transition, 16},
    {"_Colossus_Assigned_Event_Poisson_transition", (DL_FUNC) &_Colossus_Assigned_Event_Poisson_transition, 14},
    {"_Colossus_Plot_Omnibus_transition", (DL_FUNC) &_Colossus_Plot_Omnibus_transition, 16},
    {"_Colossus_cox_ph_Omnibus_Bounds_transition", (DL_FUNC) &_Colossus_cox_ph_Omnibus_Bounds_transition, 17},
    {"_Colossus_cox_ph_Omnibus_CurveSearch_transition", (DL_FUNC) &_Colossus_cox_ph_Omnibus_CurveSearch_transition, 17},
    {"_Colossus_pois_Omnibus_CurveSearch_transition", (DL_FUNC) &_Colossus_pois_Omnibus_CurveSearch_transition, 16},
    {"_Colossus_pois_Omnibus_Bounds_transition", (DL_FUNC) &_Colossus_pois_Omnibus_Bounds_transition, 16},
    {"_Colossus_pois_Residual_transition", (DL_FUNC) &_Colossus_pois_Residual_transition, 14},
    {"_Colossus_cox_ph_multidose_Omnibus_transition", (DL_FUNC) &_Colossus_cox_ph_multidose_Omnibus_transition, 20},
    {"_Colossus_pois_multidose_Omnibus_transition", (DL_FUNC) &_Colossus_pois_multidose_Omnibus_transition, 19},
    {"_Colossus_caco_Omnibus_transition", (DL_FUNC) &_Colossus_caco_Omnibus_transition, 16},
    {"_Colossus_logist_Omnibus_transition", (DL_FUNC) &_Colossus_logist_Omnibus_transition, 14},
    {"_Colossus_Write_Time_Dep", (DL_FUNC) &_Colossus_Write_Time_Dep, 10},
    {"_Colossus_OMP_Check", (DL_FUNC) &_Colossus_OMP_Check, 0},
    {NULL, NULL, 0}
};

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