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

// Gamma_func2p_pic_cpp
arma::mat Gamma_func2p_pic_cpp(const arma::vec& id, const arma::mat& x, const arma::vec& L, const arma::vec& R, const arma::vec& d, const arma::vec& beta);
RcppExport SEXP _aftPenCDA_Gamma_func2p_pic_cpp(SEXP idSEXP, SEXP xSEXP, SEXP LSEXP, SEXP RSEXP, SEXP dSEXP, SEXP betaSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::vec& >::type id(idSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type x(xSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type L(LSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type R(RSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type d(dSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type beta(betaSEXP);
    rcpp_result_gen = Rcpp::wrap(Gamma_func2p_pic_cpp(id, x, L, R, d, beta));
    return rcpp_result_gen;
END_RCPP
}
// est_funcp_pic_cpp
arma::vec est_funcp_pic_cpp(const arma::vec& ei, const arma::vec& ej, const arma::mat& xij, const arma::vec& si, const arma::vec& mi, const arma::vec& mj, Rcpp::Nullable<arma::vec> z_in);
RcppExport SEXP _aftPenCDA_est_funcp_pic_cpp(SEXP eiSEXP, SEXP ejSEXP, SEXP xijSEXP, SEXP siSEXP, SEXP miSEXP, SEXP mjSEXP, SEXP z_inSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::vec& >::type ei(eiSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type ej(ejSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xij(xijSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type si(siSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type mi(miSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type mj(mjSEXP);
    Rcpp::traits::input_parameter< Rcpp::Nullable<arma::vec> >::type z_in(z_inSEXP);
    rcpp_result_gen = Rcpp::wrap(est_funcp_pic_cpp(ei, ej, xij, si, mi, mj, z_in));
    return rcpp_result_gen;
END_RCPP
}
// un_est_funcp_pic_cpp
arma::vec un_est_funcp_pic_cpp(const arma::vec& ei, const arma::vec& ej, const arma::mat& xij, const arma::vec& si, const arma::vec& mi, const arma::vec& mj, const arma::vec& z);
RcppExport SEXP _aftPenCDA_un_est_funcp_pic_cpp(SEXP eiSEXP, SEXP ejSEXP, SEXP xijSEXP, SEXP siSEXP, SEXP miSEXP, SEXP mjSEXP, SEXP zSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::vec& >::type ei(eiSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type ej(ejSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xij(xijSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type si(siSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type mi(miSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type mj(mjSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type z(zSEXP);
    rcpp_result_gen = Rcpp::wrap(un_est_funcp_pic_cpp(ei, ej, xij, si, mi, mj, z));
    return rcpp_result_gen;
END_RCPP
}
// Gamma_funcp_pic_cpp
arma::mat Gamma_funcp_pic_cpp(const arma::vec& ei, const arma::vec& ej, const arma::mat& xij, const arma::vec& si, const arma::vec& mi, const arma::vec& mj, const int B);
RcppExport SEXP _aftPenCDA_Gamma_funcp_pic_cpp(SEXP eiSEXP, SEXP ejSEXP, SEXP xijSEXP, SEXP siSEXP, SEXP miSEXP, SEXP mjSEXP, SEXP BSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::vec& >::type ei(eiSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type ej(ejSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xij(xijSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type si(siSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type mi(miSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type mj(mjSEXP);
    Rcpp::traits::input_parameter< const int >::type B(BSEXP);
    rcpp_result_gen = Rcpp::wrap(Gamma_funcp_pic_cpp(ei, ej, xij, si, mi, mj, B));
    return rcpp_result_gen;
END_RCPP
}
// up_Amatp_pic_cpp
arma::mat up_Amatp_pic_cpp(const arma::vec& ei, const arma::vec& ej, const arma::mat& xij, const arma::vec& si, const arma::vec& mi, const arma::vec& mj);
RcppExport SEXP _aftPenCDA_up_Amatp_pic_cpp(SEXP eiSEXP, SEXP ejSEXP, SEXP xijSEXP, SEXP siSEXP, SEXP miSEXP, SEXP mjSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::vec& >::type ei(eiSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type ej(ejSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xij(xijSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type si(siSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type mi(miSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type mj(mjSEXP);
    rcpp_result_gen = Rcpp::wrap(up_Amatp_pic_cpp(ei, ej, xij, si, mi, mj));
    return rcpp_result_gen;
END_RCPP
}
// Sigma_funcp_pic_cpp
arma::mat Sigma_funcp_pic_cpp(const arma::vec& ei, const arma::vec& ej, const arma::mat& xij, const arma::mat& Gamma, const arma::vec& si, const arma::vec& mi, const arma::vec& mj);
RcppExport SEXP _aftPenCDA_Sigma_funcp_pic_cpp(SEXP eiSEXP, SEXP ejSEXP, SEXP xijSEXP, SEXP GammaSEXP, SEXP siSEXP, SEXP miSEXP, SEXP mjSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::vec& >::type ei(eiSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type ej(ejSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xij(xijSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type Gamma(GammaSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type si(siSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type mi(miSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type mj(mjSEXP);
    rcpp_result_gen = Rcpp::wrap(Sigma_funcp_pic_cpp(ei, ej, xij, Gamma, si, mi, mj));
    return rcpp_result_gen;
END_RCPP
}
// Sigma_funcp_pen_pic_cpp
arma::mat Sigma_funcp_pen_pic_cpp(const arma::vec& ei, const arma::vec& ej, const arma::mat& xij, const arma::mat& Gamma, const arma::vec& si, const arma::vec& mi, const arma::vec& mj, const int n, const arma::vec& tilde_beta, const double lambda);
RcppExport SEXP _aftPenCDA_Sigma_funcp_pen_pic_cpp(SEXP eiSEXP, SEXP ejSEXP, SEXP xijSEXP, SEXP GammaSEXP, SEXP siSEXP, SEXP miSEXP, SEXP mjSEXP, SEXP nSEXP, SEXP tilde_betaSEXP, SEXP lambdaSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::vec& >::type ei(eiSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type ej(ejSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xij(xijSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type Gamma(GammaSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type si(siSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type mi(miSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type mj(mjSEXP);
    Rcpp::traits::input_parameter< const int >::type n(nSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type tilde_beta(tilde_betaSEXP);
    Rcpp::traits::input_parameter< const double >::type lambda(lambdaSEXP);
    rcpp_result_gen = Rcpp::wrap(Sigma_funcp_pen_pic_cpp(ei, ej, xij, Gamma, si, mi, mj, n, tilde_beta, lambda));
    return rcpp_result_gen;
END_RCPP
}
// sifunc_pic_cpp
arma::vec sifunc_pic_cpp(const arma::mat& xij, const arma::mat& Sigma);
RcppExport SEXP _aftPenCDA_sifunc_pic_cpp(SEXP xijSEXP, SEXP SigmaSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::mat& >::type xij(xijSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type Sigma(SigmaSEXP);
    rcpp_result_gen = Rcpp::wrap(sifunc_pic_cpp(xij, Sigma));
    return rcpp_result_gen;
END_RCPP
}
// is_aftp_pic_cpp
Rcpp::List is_aftp_pic_cpp(Rcpp::DataFrame dt, std::string se, Rcpp::Nullable<arma::vec> beta_in, int maxit, double tol);
RcppExport SEXP _aftPenCDA_is_aftp_pic_cpp(SEXP dtSEXP, SEXP seSEXP, SEXP beta_inSEXP, SEXP maxitSEXP, SEXP tolSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< Rcpp::DataFrame >::type dt(dtSEXP);
    Rcpp::traits::input_parameter< std::string >::type se(seSEXP);
    Rcpp::traits::input_parameter< Rcpp::Nullable<arma::vec> >::type beta_in(beta_inSEXP);
    Rcpp::traits::input_parameter< int >::type maxit(maxitSEXP);
    Rcpp::traits::input_parameter< double >::type tol(tolSEXP);
    rcpp_result_gen = Rcpp::wrap(is_aftp_pic_cpp(dt, se, beta_in, maxit, tol));
    return rcpp_result_gen;
END_RCPP
}
// est_func_pic_cpp
arma::vec est_func_pic_cpp(const arma::vec& ei, const arma::vec& ej, const arma::mat& xij, const arma::vec& eta2i, const arma::vec& eta1j, const arma::vec& si);
RcppExport SEXP _aftPenCDA_est_func_pic_cpp(SEXP eiSEXP, SEXP ejSEXP, SEXP xijSEXP, SEXP eta2iSEXP, SEXP eta1jSEXP, SEXP siSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::vec& >::type ei(eiSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type ej(ejSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xij(xijSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type eta2i(eta2iSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type eta1j(eta1jSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type si(siSEXP);
    rcpp_result_gen = Rcpp::wrap(est_func_pic_cpp(ei, ej, xij, eta2i, eta1j, si));
    return rcpp_result_gen;
END_RCPP
}
// un_est_func_pic_cpp
arma::vec un_est_func_pic_cpp(const arma::vec& ei, const arma::vec& ej, const arma::mat& xij, const arma::vec& eta2i, const arma::vec& eta1j, const arma::vec& si, const arma::vec& z);
RcppExport SEXP _aftPenCDA_un_est_func_pic_cpp(SEXP eiSEXP, SEXP ejSEXP, SEXP xijSEXP, SEXP eta2iSEXP, SEXP eta1jSEXP, SEXP siSEXP, SEXP zSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::vec& >::type ei(eiSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type ej(ejSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xij(xijSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type eta2i(eta2iSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type eta1j(eta1jSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type si(siSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type z(zSEXP);
    rcpp_result_gen = Rcpp::wrap(un_est_func_pic_cpp(ei, ej, xij, eta2i, eta1j, si, z));
    return rcpp_result_gen;
END_RCPP
}
// up_Amat_pic_cpp
arma::mat up_Amat_pic_cpp(const arma::vec& ei, const arma::vec& ej, const arma::mat& xij, const arma::vec& eta2i, const arma::vec& eta1j, const arma::vec& si);
RcppExport SEXP _aftPenCDA_up_Amat_pic_cpp(SEXP eiSEXP, SEXP ejSEXP, SEXP xijSEXP, SEXP eta2iSEXP, SEXP eta1jSEXP, SEXP siSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::vec& >::type ei(eiSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type ej(ejSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xij(xijSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type eta2i(eta2iSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type eta1j(eta1jSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type si(siSEXP);
    rcpp_result_gen = Rcpp::wrap(up_Amat_pic_cpp(ei, ej, xij, eta2i, eta1j, si));
    return rcpp_result_gen;
END_RCPP
}
// Gamma_func_pic_cpp
arma::mat Gamma_func_pic_cpp(const arma::vec& ei, const arma::vec& ej, const arma::mat& xij, const arma::vec& eta2i, const arma::vec& eta1j, const arma::vec& si, int B);
RcppExport SEXP _aftPenCDA_Gamma_func_pic_cpp(SEXP eiSEXP, SEXP ejSEXP, SEXP xijSEXP, SEXP eta2iSEXP, SEXP eta1jSEXP, SEXP siSEXP, SEXP BSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::vec& >::type ei(eiSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type ej(ejSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xij(xijSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type eta2i(eta2iSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type eta1j(eta1jSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type si(siSEXP);
    Rcpp::traits::input_parameter< int >::type B(BSEXP);
    rcpp_result_gen = Rcpp::wrap(Gamma_func_pic_cpp(ei, ej, xij, eta2i, eta1j, si, B));
    return rcpp_result_gen;
END_RCPP
}
// Gamma_func2_pic_cpp
arma::mat Gamma_func2_pic_cpp(Rcpp::DataFrame dt, const arma::vec& beta);
RcppExport SEXP _aftPenCDA_Gamma_func2_pic_cpp(SEXP dtSEXP, SEXP betaSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< Rcpp::DataFrame >::type dt(dtSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type beta(betaSEXP);
    rcpp_result_gen = Rcpp::wrap(Gamma_func2_pic_cpp(dt, beta));
    return rcpp_result_gen;
END_RCPP
}
// Sigma_func_pic_cpp
arma::mat Sigma_func_pic_cpp(const arma::vec& ei, const arma::vec& ej, const arma::mat& xij, const arma::vec& eta2i, const arma::vec& eta1j, const arma::mat& Gamma, const arma::vec& si);
RcppExport SEXP _aftPenCDA_Sigma_func_pic_cpp(SEXP eiSEXP, SEXP ejSEXP, SEXP xijSEXP, SEXP eta2iSEXP, SEXP eta1jSEXP, SEXP GammaSEXP, SEXP siSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::vec& >::type ei(eiSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type ej(ejSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xij(xijSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type eta2i(eta2iSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type eta1j(eta1jSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type Gamma(GammaSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type si(siSEXP);
    rcpp_result_gen = Rcpp::wrap(Sigma_func_pic_cpp(ei, ej, xij, eta2i, eta1j, Gamma, si));
    return rcpp_result_gen;
END_RCPP
}
// Sigma_func_pen_pic_cpp
arma::mat Sigma_func_pen_pic_cpp(const arma::vec& ei, const arma::vec& ej, const arma::mat& xij, const arma::vec& eta2i, const arma::vec& eta1j, const arma::mat& Gamma, const arma::vec& si, const arma::vec& tilde_beta, const double lambda);
RcppExport SEXP _aftPenCDA_Sigma_func_pen_pic_cpp(SEXP eiSEXP, SEXP ejSEXP, SEXP xijSEXP, SEXP eta2iSEXP, SEXP eta1jSEXP, SEXP GammaSEXP, SEXP siSEXP, SEXP tilde_betaSEXP, SEXP lambdaSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::vec& >::type ei(eiSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type ej(ejSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xij(xijSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type eta2i(eta2iSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type eta1j(eta1jSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type Gamma(GammaSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type si(siSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type tilde_beta(tilde_betaSEXP);
    Rcpp::traits::input_parameter< const double >::type lambda(lambdaSEXP);
    rcpp_result_gen = Rcpp::wrap(Sigma_func_pen_pic_cpp(ei, ej, xij, eta2i, eta1j, Gamma, si, tilde_beta, lambda));
    return rcpp_result_gen;
END_RCPP
}
// is_aft_pic_cpp
Rcpp::List is_aft_pic_cpp(Rcpp::DataFrame dt, std::string se);
RcppExport SEXP _aftPenCDA_is_aft_pic_cpp(SEXP dtSEXP, SEXP seSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< Rcpp::DataFrame >::type dt(dtSEXP);
    Rcpp::traits::input_parameter< std::string >::type se(seSEXP);
    rcpp_result_gen = Rcpp::wrap(is_aft_pic_cpp(dt, se));
    return rcpp_result_gen;
END_RCPP
}
// Gamma_func2_cpp
arma::mat Gamma_func2_cpp(const arma::vec& e, const arma::mat& x, const arma::vec& d);
RcppExport SEXP _aftPenCDA_Gamma_func2_cpp(SEXP eSEXP, SEXP xSEXP, SEXP dSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::vec& >::type e(eSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type x(xSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type d(dSEXP);
    rcpp_result_gen = Rcpp::wrap(Gamma_func2_cpp(e, x, d));
    return rcpp_result_gen;
END_RCPP
}
// un_est_func_cpp
arma::vec un_est_func_cpp(const arma::vec& ei, const arma::vec& ej, const arma::mat& xij, const arma::vec& di, const arma::vec& z);
RcppExport SEXP _aftPenCDA_un_est_func_cpp(SEXP eiSEXP, SEXP ejSEXP, SEXP xijSEXP, SEXP diSEXP, SEXP zSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::vec& >::type ei(eiSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type ej(ejSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xij(xijSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type di(diSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type z(zSEXP);
    rcpp_result_gen = Rcpp::wrap(un_est_func_cpp(ei, ej, xij, di, z));
    return rcpp_result_gen;
END_RCPP
}
// est_func_cpp
arma::vec est_func_cpp(const arma::vec& ei, const arma::vec& ej, const arma::mat& xij, const arma::vec& di, const arma::vec& si);
RcppExport SEXP _aftPenCDA_est_func_cpp(SEXP eiSEXP, SEXP ejSEXP, SEXP xijSEXP, SEXP diSEXP, SEXP siSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::vec& >::type ei(eiSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type ej(ejSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xij(xijSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type di(diSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type si(siSEXP);
    rcpp_result_gen = Rcpp::wrap(est_func_cpp(ei, ej, xij, di, si));
    return rcpp_result_gen;
END_RCPP
}
// Gamma_func_cpp
arma::mat Gamma_func_cpp(const arma::vec& ei, const arma::vec& ej, const arma::mat& xij, const arma::vec& di, const arma::vec& si, const int B);
RcppExport SEXP _aftPenCDA_Gamma_func_cpp(SEXP eiSEXP, SEXP ejSEXP, SEXP xijSEXP, SEXP diSEXP, SEXP siSEXP, SEXP BSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::vec& >::type ei(eiSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type ej(ejSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xij(xijSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type di(diSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type si(siSEXP);
    Rcpp::traits::input_parameter< const int >::type B(BSEXP);
    rcpp_result_gen = Rcpp::wrap(Gamma_func_cpp(ei, ej, xij, di, si, B));
    return rcpp_result_gen;
END_RCPP
}
// up_Amat_cpp
arma::mat up_Amat_cpp(const arma::vec& ei, const arma::vec& ej, const arma::mat& xij, const arma::vec& di, const arma::vec& si);
RcppExport SEXP _aftPenCDA_up_Amat_cpp(SEXP eiSEXP, SEXP ejSEXP, SEXP xijSEXP, SEXP diSEXP, SEXP siSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::vec& >::type ei(eiSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type ej(ejSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xij(xijSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type di(diSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type si(siSEXP);
    rcpp_result_gen = Rcpp::wrap(up_Amat_cpp(ei, ej, xij, di, si));
    return rcpp_result_gen;
END_RCPP
}
// Sigma_func_cpp
arma::mat Sigma_func_cpp(const arma::vec& ei, const arma::vec& ej, const arma::mat& xij, const arma::vec& di, const arma::mat& Gamma, const arma::vec& si);
RcppExport SEXP _aftPenCDA_Sigma_func_cpp(SEXP eiSEXP, SEXP ejSEXP, SEXP xijSEXP, SEXP diSEXP, SEXP GammaSEXP, SEXP siSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::vec& >::type ei(eiSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type ej(ejSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xij(xijSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type di(diSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type Gamma(GammaSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type si(siSEXP);
    rcpp_result_gen = Rcpp::wrap(Sigma_func_cpp(ei, ej, xij, di, Gamma, si));
    return rcpp_result_gen;
END_RCPP
}
// Sigma_func_pen_cpp
arma::mat Sigma_func_pen_cpp(const arma::vec& ei, const arma::vec& ej, const arma::mat& xij, const arma::vec& di, const arma::mat& Gamma, const arma::vec& si, const arma::vec& tilde_beta, double lambda);
RcppExport SEXP _aftPenCDA_Sigma_func_pen_cpp(SEXP eiSEXP, SEXP ejSEXP, SEXP xijSEXP, SEXP diSEXP, SEXP GammaSEXP, SEXP siSEXP, SEXP tilde_betaSEXP, SEXP lambdaSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::vec& >::type ei(eiSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type ej(ejSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xij(xijSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type di(diSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type Gamma(GammaSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type si(siSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type tilde_beta(tilde_betaSEXP);
    Rcpp::traits::input_parameter< double >::type lambda(lambdaSEXP);
    rcpp_result_gen = Rcpp::wrap(Sigma_func_pen_cpp(ei, ej, xij, di, Gamma, si, tilde_beta, lambda));
    return rcpp_result_gen;
END_RCPP
}
// sifunc_cpp
arma::vec sifunc_cpp(const arma::mat& xij, const arma::mat& Sigma);
RcppExport SEXP _aftPenCDA_sifunc_cpp(SEXP xijSEXP, SEXP SigmaSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::mat& >::type xij(xijSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type Sigma(SigmaSEXP);
    rcpp_result_gen = Rcpp::wrap(sifunc_cpp(xij, Sigma));
    return rcpp_result_gen;
END_RCPP
}
// weighted_lm_cpp
arma::vec weighted_lm_cpp(const arma::vec& y, const arma::mat& x, const arma::vec& d);
RcppExport SEXP _aftPenCDA_weighted_lm_cpp(SEXP ySEXP, SEXP xSEXP, SEXP dSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::vec& >::type y(ySEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type x(xSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type d(dSEXP);
    rcpp_result_gen = Rcpp::wrap(weighted_lm_cpp(y, x, d));
    return rcpp_result_gen;
END_RCPP
}
// is_aft_cpp
Rcpp::List is_aft_cpp(const arma::vec& y, const arma::vec& d, const arma::mat& x, std::string se_type);
RcppExport SEXP _aftPenCDA_is_aft_cpp(SEXP ySEXP, SEXP dSEXP, SEXP xSEXP, SEXP se_typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::vec& >::type y(ySEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type d(dSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type x(xSEXP);
    Rcpp::traits::input_parameter< std::string >::type se_type(se_typeSEXP);
    rcpp_result_gen = Rcpp::wrap(is_aft_cpp(y, d, x, se_type));
    return rcpp_result_gen;
END_RCPP
}
// Sigma_func_stable_cpp
arma::mat Sigma_func_stable_cpp(const arma::vec& ei, const arma::vec& ej, const arma::mat& xij, const arma::vec& di, const arma::mat& Gamma, const arma::vec& si, double stable_numb1);
RcppExport SEXP _aftPenCDA_Sigma_func_stable_cpp(SEXP eiSEXP, SEXP ejSEXP, SEXP xijSEXP, SEXP diSEXP, SEXP GammaSEXP, SEXP siSEXP, SEXP stable_numb1SEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::vec& >::type ei(eiSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type ej(ejSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xij(xijSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type di(diSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type Gamma(GammaSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type si(siSEXP);
    Rcpp::traits::input_parameter< double >::type stable_numb1(stable_numb1SEXP);
    rcpp_result_gen = Rcpp::wrap(Sigma_func_stable_cpp(ei, ej, xij, di, Gamma, si, stable_numb1));
    return rcpp_result_gen;
END_RCPP
}
// is_aft_stable_cpp
Rcpp::List is_aft_stable_cpp(const arma::vec& y, const arma::vec& d, const arma::mat& x, const double stable_numb1, std::string se_type);
RcppExport SEXP _aftPenCDA_is_aft_stable_cpp(SEXP ySEXP, SEXP dSEXP, SEXP xSEXP, SEXP stable_numb1SEXP, SEXP se_typeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::vec& >::type y(ySEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type d(dSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type x(xSEXP);
    Rcpp::traits::input_parameter< const double >::type stable_numb1(stable_numb1SEXP);
    Rcpp::traits::input_parameter< std::string >::type se_type(se_typeSEXP);
    rcpp_result_gen = Rcpp::wrap(is_aft_stable_cpp(y, d, x, stable_numb1, se_type));
    return rcpp_result_gen;
END_RCPP
}

static const R_CallMethodDef CallEntries[] = {
    {"_aftPenCDA_Gamma_func2p_pic_cpp", (DL_FUNC) &_aftPenCDA_Gamma_func2p_pic_cpp, 6},
    {"_aftPenCDA_est_funcp_pic_cpp", (DL_FUNC) &_aftPenCDA_est_funcp_pic_cpp, 7},
    {"_aftPenCDA_un_est_funcp_pic_cpp", (DL_FUNC) &_aftPenCDA_un_est_funcp_pic_cpp, 7},
    {"_aftPenCDA_Gamma_funcp_pic_cpp", (DL_FUNC) &_aftPenCDA_Gamma_funcp_pic_cpp, 7},
    {"_aftPenCDA_up_Amatp_pic_cpp", (DL_FUNC) &_aftPenCDA_up_Amatp_pic_cpp, 6},
    {"_aftPenCDA_Sigma_funcp_pic_cpp", (DL_FUNC) &_aftPenCDA_Sigma_funcp_pic_cpp, 7},
    {"_aftPenCDA_Sigma_funcp_pen_pic_cpp", (DL_FUNC) &_aftPenCDA_Sigma_funcp_pen_pic_cpp, 10},
    {"_aftPenCDA_sifunc_pic_cpp", (DL_FUNC) &_aftPenCDA_sifunc_pic_cpp, 2},
    {"_aftPenCDA_is_aftp_pic_cpp", (DL_FUNC) &_aftPenCDA_is_aftp_pic_cpp, 5},
    {"_aftPenCDA_est_func_pic_cpp", (DL_FUNC) &_aftPenCDA_est_func_pic_cpp, 6},
    {"_aftPenCDA_un_est_func_pic_cpp", (DL_FUNC) &_aftPenCDA_un_est_func_pic_cpp, 7},
    {"_aftPenCDA_up_Amat_pic_cpp", (DL_FUNC) &_aftPenCDA_up_Amat_pic_cpp, 6},
    {"_aftPenCDA_Gamma_func_pic_cpp", (DL_FUNC) &_aftPenCDA_Gamma_func_pic_cpp, 7},
    {"_aftPenCDA_Gamma_func2_pic_cpp", (DL_FUNC) &_aftPenCDA_Gamma_func2_pic_cpp, 2},
    {"_aftPenCDA_Sigma_func_pic_cpp", (DL_FUNC) &_aftPenCDA_Sigma_func_pic_cpp, 7},
    {"_aftPenCDA_Sigma_func_pen_pic_cpp", (DL_FUNC) &_aftPenCDA_Sigma_func_pen_pic_cpp, 9},
    {"_aftPenCDA_is_aft_pic_cpp", (DL_FUNC) &_aftPenCDA_is_aft_pic_cpp, 2},
    {"_aftPenCDA_Gamma_func2_cpp", (DL_FUNC) &_aftPenCDA_Gamma_func2_cpp, 3},
    {"_aftPenCDA_un_est_func_cpp", (DL_FUNC) &_aftPenCDA_un_est_func_cpp, 5},
    {"_aftPenCDA_est_func_cpp", (DL_FUNC) &_aftPenCDA_est_func_cpp, 5},
    {"_aftPenCDA_Gamma_func_cpp", (DL_FUNC) &_aftPenCDA_Gamma_func_cpp, 6},
    {"_aftPenCDA_up_Amat_cpp", (DL_FUNC) &_aftPenCDA_up_Amat_cpp, 5},
    {"_aftPenCDA_Sigma_func_cpp", (DL_FUNC) &_aftPenCDA_Sigma_func_cpp, 6},
    {"_aftPenCDA_Sigma_func_pen_cpp", (DL_FUNC) &_aftPenCDA_Sigma_func_pen_cpp, 8},
    {"_aftPenCDA_sifunc_cpp", (DL_FUNC) &_aftPenCDA_sifunc_cpp, 2},
    {"_aftPenCDA_weighted_lm_cpp", (DL_FUNC) &_aftPenCDA_weighted_lm_cpp, 3},
    {"_aftPenCDA_is_aft_cpp", (DL_FUNC) &_aftPenCDA_is_aft_cpp, 4},
    {"_aftPenCDA_Sigma_func_stable_cpp", (DL_FUNC) &_aftPenCDA_Sigma_func_stable_cpp, 7},
    {"_aftPenCDA_is_aft_stable_cpp", (DL_FUNC) &_aftPenCDA_is_aft_stable_cpp, 5},
    {NULL, NULL, 0}
};

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