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

// initlslinregfit
int initlslinregfit(const arma::mat& xl, arma::mat& ql, arma::mat& rtl);
RcppExport SEXP _lsReg_initlslinregfit(SEXP xlSEXP, SEXP qlSEXP, SEXP rtlSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::mat& >::type xl(xlSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type ql(qlSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type rtl(rtlSEXP);
    rcpp_result_gen = Rcpp::wrap(initlslinregfit(xl, ql, rtl));
    return rcpp_result_gen;
END_RCPP
}
// lslinregfit
int lslinregfit(const arma::vec& y, const arma::mat& xl, const arma::mat& xr, const arma::vec& beta0, const arma::mat& ql, const arma::mat& rtl, arma::vec& bt, arma::vec& bb, arma::vec& betat, arma::vec& betab, arma::mat& qr, arma::mat& rtr, arma::mat& rbr, arma::mat& h, arma::mat& t, arma::vec& zb);
RcppExport SEXP _lsReg_lslinregfit(SEXP ySEXP, SEXP xlSEXP, SEXP xrSEXP, SEXP beta0SEXP, SEXP qlSEXP, SEXP rtlSEXP, SEXP btSEXP, SEXP bbSEXP, SEXP betatSEXP, SEXP betabSEXP, SEXP qrSEXP, SEXP rtrSEXP, SEXP rbrSEXP, SEXP hSEXP, SEXP tSEXP, SEXP zbSEXP) {
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 xl(xlSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xr(xrSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type beta0(beta0SEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type ql(qlSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type rtl(rtlSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type bt(btSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type bb(bbSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type betat(betatSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type betab(betabSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type qr(qrSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type rtr(rtrSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type rbr(rbrSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type h(hSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type t(tSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type zb(zbSEXP);
    rcpp_result_gen = Rcpp::wrap(lslinregfit(y, xl, xr, beta0, ql, rtl, bt, bb, betat, betab, qr, rtr, rbr, h, t, zb));
    return rcpp_result_gen;
END_RCPP
}
// initlslinreglrt
int initlslinreglrt(const arma::vec& y, const arma::mat& xl, const arma::vec& beta, arma::vec& resids, arma::vec& loglike);
RcppExport SEXP _lsReg_initlslinreglrt(SEXP ySEXP, SEXP xlSEXP, SEXP betaSEXP, SEXP residsSEXP, SEXP loglikeSEXP) {
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 xl(xlSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type beta(betaSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type resids(residsSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type loglike(loglikeSEXP);
    rcpp_result_gen = Rcpp::wrap(initlslinreglrt(y, xl, beta, resids, loglike));
    return rcpp_result_gen;
END_RCPP
}
// lslinreglrt
int lslinreglrt(const arma::vec& y, const arma::mat& xl, const arma::mat& xr, const arma::vec& bt, const arma::vec& bb, arma::vec& resids, arma::vec& loglike, arma::vec& testvalue);
RcppExport SEXP _lsReg_lslinreglrt(SEXP ySEXP, SEXP xlSEXP, SEXP xrSEXP, SEXP btSEXP, SEXP bbSEXP, SEXP residsSEXP, SEXP loglikeSEXP, SEXP testvalueSEXP) {
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 xl(xlSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xr(xrSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type bt(btSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type bb(bbSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type resids(residsSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type loglike(loglikeSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type testvalue(testvalueSEXP);
    rcpp_result_gen = Rcpp::wrap(lslinreglrt(y, xl, xr, bt, bb, resids, loglike, testvalue));
    return rcpp_result_gen;
END_RCPP
}
// initlslinregscore
int initlslinregscore(const arma::vec& y, const arma::mat& xl, const arma::vec& beta, arma::vec& resids0, arma::vec& s2, arma::mat& xtx, arma::mat& xtx0inv);
RcppExport SEXP _lsReg_initlslinregscore(SEXP ySEXP, SEXP xlSEXP, SEXP betaSEXP, SEXP resids0SEXP, SEXP s2SEXP, SEXP xtxSEXP, SEXP xtx0invSEXP) {
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 xl(xlSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type beta(betaSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type resids0(resids0SEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type s2(s2SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xtx(xtxSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xtx0inv(xtx0invSEXP);
    rcpp_result_gen = Rcpp::wrap(initlslinregscore(y, xl, beta, resids0, s2, xtx, xtx0inv));
    return rcpp_result_gen;
END_RCPP
}
// lslinregscore
int lslinregscore(const arma::mat& xl, const arma::mat& xr, const arma::mat& xtx0inv, const arma::vec& resids0, const arma::vec& s2, arma::mat& xtx, arma::mat& info, arma::vec& score, arma::mat& testvalue);
RcppExport SEXP _lsReg_lslinregscore(SEXP xlSEXP, SEXP xrSEXP, SEXP xtx0invSEXP, SEXP resids0SEXP, SEXP s2SEXP, SEXP xtxSEXP, SEXP infoSEXP, SEXP scoreSEXP, SEXP testvalueSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::mat& >::type xl(xlSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xr(xrSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xtx0inv(xtx0invSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type resids0(resids0SEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type s2(s2SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xtx(xtxSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type info(infoSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type score(scoreSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type testvalue(testvalueSEXP);
    rcpp_result_gen = Rcpp::wrap(lslinregscore(xl, xr, xtx0inv, resids0, s2, xtx, info, score, testvalue));
    return rcpp_result_gen;
END_RCPP
}
// initlslinregrobustscore
int initlslinregrobustscore(const arma::vec& y, const arma::mat& xl, const arma::vec& beta, arma::vec& resids0, arma::mat& xlr0, arma::vec& s2, arma::mat& xtx, arma::mat& xtx0inv, arma::mat& uut, arma::mat& cmat);
RcppExport SEXP _lsReg_initlslinregrobustscore(SEXP ySEXP, SEXP xlSEXP, SEXP betaSEXP, SEXP resids0SEXP, SEXP xlr0SEXP, SEXP s2SEXP, SEXP xtxSEXP, SEXP xtx0invSEXP, SEXP uutSEXP, SEXP cmatSEXP) {
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 xl(xlSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type beta(betaSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type resids0(resids0SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xlr0(xlr0SEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type s2(s2SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xtx(xtxSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xtx0inv(xtx0invSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type uut(uutSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type cmat(cmatSEXP);
    rcpp_result_gen = Rcpp::wrap(initlslinregrobustscore(y, xl, beta, resids0, xlr0, s2, xtx, xtx0inv, uut, cmat));
    return rcpp_result_gen;
END_RCPP
}
// lslinregrobustscore
int lslinregrobustscore(const arma::mat& xl, const arma::mat& xlr0, const arma::mat& xr, const arma::mat& xtx0inv, const arma::vec& resids0, arma::mat& xrr0, arma::mat& uut, arma::mat& cmat, arma::vec& score, arma::mat& info, arma::vec& testvalue);
RcppExport SEXP _lsReg_lslinregrobustscore(SEXP xlSEXP, SEXP xlr0SEXP, SEXP xrSEXP, SEXP xtx0invSEXP, SEXP resids0SEXP, SEXP xrr0SEXP, SEXP uutSEXP, SEXP cmatSEXP, SEXP scoreSEXP, SEXP infoSEXP, SEXP testvalueSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::mat& >::type xl(xlSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xlr0(xlr0SEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xr(xrSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xtx0inv(xtx0invSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type resids0(resids0SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xrr0(xrr0SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type uut(uutSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type cmat(cmatSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type score(scoreSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type info(infoSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type testvalue(testvalueSEXP);
    rcpp_result_gen = Rcpp::wrap(lslinregrobustscore(xl, xlr0, xr, xtx0inv, resids0, xrr0, uut, cmat, score, info, testvalue));
    return rcpp_result_gen;
END_RCPP
}
// initlslinregwald
int initlslinregwald(const arma::mat& rtl, arma::mat& rtlinv);
RcppExport SEXP _lsReg_initlslinregwald(SEXP rtlSEXP, SEXP rtlinvSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::mat& >::type rtl(rtlSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type rtlinv(rtlinvSEXP);
    rcpp_result_gen = Rcpp::wrap(initlslinregwald(rtl, rtlinv));
    return rcpp_result_gen;
END_RCPP
}
// lslinregwaldtest
int lslinregwaldtest(const arma::vec& y, const arma::mat& xl, const arma::mat& xr, const arma::vec& bt, const arma::vec& bb, const arma::mat& rtlinv, const arma::mat& rtr, const arma::mat& rbr, arma::vec& resids, arma::vec& s2, arma::mat& rtrinv, arma::mat& rbrinv, arma::mat& xtxinv, arma::mat& testvalue);
RcppExport SEXP _lsReg_lslinregwaldtest(SEXP ySEXP, SEXP xlSEXP, SEXP xrSEXP, SEXP btSEXP, SEXP bbSEXP, SEXP rtlinvSEXP, SEXP rtrSEXP, SEXP rbrSEXP, SEXP residsSEXP, SEXP s2SEXP, SEXP rtrinvSEXP, SEXP rbrinvSEXP, SEXP xtxinvSEXP, SEXP testvalueSEXP) {
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 xl(xlSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xr(xrSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type bt(btSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type bb(bbSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type rtlinv(rtlinvSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type rtr(rtrSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type rbr(rbrSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type resids(residsSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type s2(s2SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type rtrinv(rtrinvSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type rbrinv(rbrinvSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xtxinv(xtxinvSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type testvalue(testvalueSEXP);
    rcpp_result_gen = Rcpp::wrap(lslinregwaldtest(y, xl, xr, bt, bb, rtlinv, rtr, rbr, resids, s2, rtrinv, rbrinv, xtxinv, testvalue));
    return rcpp_result_gen;
END_RCPP
}
// lslinregrobustwaldtest
int lslinregrobustwaldtest(const arma::vec& y, const arma::mat& xl, const arma::mat& xr, const arma::vec& bt, const arma::vec& bb, const arma::mat& rtlinv, const arma::mat& rtr, const arma::mat& rbr, arma::mat& xlr, arma::mat& xrr, arma::vec& resids, arma::vec& s2, arma::mat& rtrinv, arma::mat& rbrinv, arma::mat& xtxinv, arma::mat& hwinfo, arma::mat& testvalue);
RcppExport SEXP _lsReg_lslinregrobustwaldtest(SEXP ySEXP, SEXP xlSEXP, SEXP xrSEXP, SEXP btSEXP, SEXP bbSEXP, SEXP rtlinvSEXP, SEXP rtrSEXP, SEXP rbrSEXP, SEXP xlrSEXP, SEXP xrrSEXP, SEXP residsSEXP, SEXP s2SEXP, SEXP rtrinvSEXP, SEXP rbrinvSEXP, SEXP xtxinvSEXP, SEXP hwinfoSEXP, SEXP testvalueSEXP) {
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 xl(xlSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xr(xrSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type bt(btSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type bb(bbSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type rtlinv(rtlinvSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type rtr(rtrSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type rbr(rbrSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xlr(xlrSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xrr(xrrSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type resids(residsSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type s2(s2SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type rtrinv(rtrinvSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type rbrinv(rbrinvSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xtxinv(xtxinvSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type hwinfo(hwinfoSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type testvalue(testvalueSEXP);
    rcpp_result_gen = Rcpp::wrap(lslinregrobustwaldtest(y, xl, xr, bt, bb, rtlinv, rtr, rbr, xlr, xrr, resids, s2, rtrinv, rbrinv, xtxinv, hwinfo, testvalue));
    return rcpp_result_gen;
END_RCPP
}
// initlslogregfit
int initlslogregfit(const arma::vec& y, const arma::mat& xl, const arma::vec& beta0, arma::mat& ql0, arma::mat& rtl0, arma::mat& rtl0inv, arma::mat& xtx0, arma::mat& xtx0inv, arma::vec& yp0, arma::vec& w0, arma::vec& w0inv, arma::mat& xlw0, arma::vec& k, arma::vec& abx, arma::vec& expabx, arma::vec& expabxp1, arma::vec& expitabx);
RcppExport SEXP _lsReg_initlslogregfit(SEXP ySEXP, SEXP xlSEXP, SEXP beta0SEXP, SEXP ql0SEXP, SEXP rtl0SEXP, SEXP rtl0invSEXP, SEXP xtx0SEXP, SEXP xtx0invSEXP, SEXP yp0SEXP, SEXP w0SEXP, SEXP w0invSEXP, SEXP xlw0SEXP, SEXP kSEXP, SEXP abxSEXP, SEXP expabxSEXP, SEXP expabxp1SEXP, SEXP expitabxSEXP) {
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 xl(xlSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type beta0(beta0SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type ql0(ql0SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type rtl0(rtl0SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type rtl0inv(rtl0invSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xtx0(xtx0SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xtx0inv(xtx0invSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type yp0(yp0SEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type w0(w0SEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type w0inv(w0invSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xlw0(xlw0SEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type k(kSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type abx(abxSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type expabx(expabxSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type expabxp1(expabxp1SEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type expitabx(expitabxSEXP);
    rcpp_result_gen = Rcpp::wrap(initlslogregfit(y, xl, beta0, ql0, rtl0, rtl0inv, xtx0, xtx0inv, yp0, w0, w0inv, xlw0, k, abx, expabx, expabxp1, expitabx));
    return rcpp_result_gen;
END_RCPP
}
// lslogregfit
int lslogregfit(const arma::vec& y, const arma::mat& xl, const arma::mat& xr, const arma::vec& beta0, const arma::vec& yp0, const arma::mat& ql, const arma::mat& rtl, const arma::vec& k0, const arma::vec& w0, const arma::vec& winv0, arma::vec& beta, arma::vec& bt, arma::vec& bb, arma::vec& betat, arma::vec& betab, arma::vec& abx, arma::vec& expabx, arma::vec& expabxp1, arma::vec& expitabx, arma::mat& h, arma::vec& k, arma::mat& qr, arma::mat& rtr, arma::mat& rbr, arma::vec& scoret, arma::vec& scoreb, arma::mat& t, arma::mat& xrw, arma::vec& yp, arma::vec& zt, arma::vec& zb);
RcppExport SEXP _lsReg_lslogregfit(SEXP ySEXP, SEXP xlSEXP, SEXP xrSEXP, SEXP beta0SEXP, SEXP yp0SEXP, SEXP qlSEXP, SEXP rtlSEXP, SEXP k0SEXP, SEXP w0SEXP, SEXP winv0SEXP, SEXP betaSEXP, SEXP btSEXP, SEXP bbSEXP, SEXP betatSEXP, SEXP betabSEXP, SEXP abxSEXP, SEXP expabxSEXP, SEXP expabxp1SEXP, SEXP expitabxSEXP, SEXP hSEXP, SEXP kSEXP, SEXP qrSEXP, SEXP rtrSEXP, SEXP rbrSEXP, SEXP scoretSEXP, SEXP scorebSEXP, SEXP tSEXP, SEXP xrwSEXP, SEXP ypSEXP, SEXP ztSEXP, SEXP zbSEXP) {
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 xl(xlSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xr(xrSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type beta0(beta0SEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type yp0(yp0SEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type ql(qlSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type rtl(rtlSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type k0(k0SEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type w0(w0SEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type winv0(winv0SEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type beta(betaSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type bt(btSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type bb(bbSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type betat(betatSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type betab(betabSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type abx(abxSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type expabx(expabxSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type expabxp1(expabxp1SEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type expitabx(expitabxSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type h(hSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type k(kSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type qr(qrSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type rtr(rtrSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type rbr(rbrSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type scoret(scoretSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type scoreb(scorebSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type t(tSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xrw(xrwSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type yp(ypSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type zt(ztSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type zb(zbSEXP);
    rcpp_result_gen = Rcpp::wrap(lslogregfit(y, xl, xr, beta0, yp0, ql, rtl, k0, w0, winv0, beta, bt, bb, betat, betab, abx, expabx, expabxp1, expitabx, h, k, qr, rtr, rbr, scoret, scoreb, t, xrw, yp, zt, zb));
    return rcpp_result_gen;
END_RCPP
}
// lslogreglikelihood
double lslogreglikelihood(const arma::vec& y, const arma::vec& abx, const arma::vec& expabxp1);
RcppExport SEXP _lsReg_lslogreglikelihood(SEXP ySEXP, SEXP abxSEXP, SEXP expabxp1SEXP) {
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 abx(abxSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type expabxp1(expabxp1SEXP);
    rcpp_result_gen = Rcpp::wrap(lslogreglikelihood(y, abx, expabxp1));
    return rcpp_result_gen;
END_RCPP
}
// lslogreglrt
int lslogreglrt(const arma::vec& y, const arma::vec& abx, const arma::vec& expabxp1, arma::vec& loglike, arma::vec& testvalue);
RcppExport SEXP _lsReg_lslogreglrt(SEXP ySEXP, SEXP abxSEXP, SEXP expabxp1SEXP, SEXP loglikeSEXP, SEXP testvalueSEXP) {
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 abx(abxSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type expabxp1(expabxp1SEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type loglike(loglikeSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type testvalue(testvalueSEXP);
    rcpp_result_gen = Rcpp::wrap(lslogreglrt(y, abx, expabxp1, loglike, testvalue));
    return rcpp_result_gen;
END_RCPP
}
// initlslogregscore
int initlslogregscore(const arma::vec& y, const arma::mat& xl, const arma::vec& beta, arma::mat& ql0, arma::mat& rtl0, arma::mat& rtl0inv, arma::mat& xtx0, arma::mat& xtx0inv, arma::vec& yp0, arma::vec& w0, arma::vec& abx, arma::vec& expabx, arma::vec& expabxp1, arma::vec& expitabx, arma::mat& xlw0);
RcppExport SEXP _lsReg_initlslogregscore(SEXP ySEXP, SEXP xlSEXP, SEXP betaSEXP, SEXP ql0SEXP, SEXP rtl0SEXP, SEXP rtl0invSEXP, SEXP xtx0SEXP, SEXP xtx0invSEXP, SEXP yp0SEXP, SEXP w0SEXP, SEXP abxSEXP, SEXP expabxSEXP, SEXP expabxp1SEXP, SEXP expitabxSEXP, SEXP xlw0SEXP) {
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 xl(xlSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type beta(betaSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type ql0(ql0SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type rtl0(rtl0SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type rtl0inv(rtl0invSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xtx0(xtx0SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xtx0inv(xtx0invSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type yp0(yp0SEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type w0(w0SEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type abx(abxSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type expabx(expabxSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type expabxp1(expabxp1SEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type expitabx(expitabxSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xlw0(xlw0SEXP);
    rcpp_result_gen = Rcpp::wrap(initlslogregscore(y, xl, beta, ql0, rtl0, rtl0inv, xtx0, xtx0inv, yp0, w0, abx, expabx, expabxp1, expitabx, xlw0));
    return rcpp_result_gen;
END_RCPP
}
// score_test
int score_test(const arma::mat& xr, const arma::vec& w0, const arma::mat& xlw0, const arma::mat& xtxinv0, const arma::vec& resids0, arma::mat& xtx0, arma::mat& xrw0, arma::mat& info0, arma::vec& score0, arma::mat& testvalue);
RcppExport SEXP _lsReg_score_test(SEXP xrSEXP, SEXP w0SEXP, SEXP xlw0SEXP, SEXP xtxinv0SEXP, SEXP resids0SEXP, SEXP xtx0SEXP, SEXP xrw0SEXP, SEXP info0SEXP, SEXP score0SEXP, SEXP testvalueSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::mat& >::type xr(xrSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type w0(w0SEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xlw0(xlw0SEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xtxinv0(xtxinv0SEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type resids0(resids0SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xtx0(xtx0SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xrw0(xrw0SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type info0(info0SEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type score0(score0SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type testvalue(testvalueSEXP);
    rcpp_result_gen = Rcpp::wrap(score_test(xr, w0, xlw0, xtxinv0, resids0, xtx0, xrw0, info0, score0, testvalue));
    return rcpp_result_gen;
END_RCPP
}
// initlslogregrobustscore
int initlslogregrobustscore(const arma::vec& y, const arma::mat& xl, const arma::vec& beta, arma::mat& ql0, arma::mat& rtl0, arma::mat& rtl0inv, arma::mat& xtx0, arma::mat& xtx0inv, arma::vec& yp0, arma::vec& w0, arma::vec& abx, arma::vec& expabx, arma::vec& expabxp1, arma::vec& expitabx, arma::mat& xlw0, arma::mat& xlr0, arma::mat& uut);
RcppExport SEXP _lsReg_initlslogregrobustscore(SEXP ySEXP, SEXP xlSEXP, SEXP betaSEXP, SEXP ql0SEXP, SEXP rtl0SEXP, SEXP rtl0invSEXP, SEXP xtx0SEXP, SEXP xtx0invSEXP, SEXP yp0SEXP, SEXP w0SEXP, SEXP abxSEXP, SEXP expabxSEXP, SEXP expabxp1SEXP, SEXP expitabxSEXP, SEXP xlw0SEXP, SEXP xlr0SEXP, SEXP uutSEXP) {
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 xl(xlSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type beta(betaSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type ql0(ql0SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type rtl0(rtl0SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type rtl0inv(rtl0invSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xtx0(xtx0SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xtx0inv(xtx0invSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type yp0(yp0SEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type w0(w0SEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type abx(abxSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type expabx(expabxSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type expabxp1(expabxp1SEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type expitabx(expitabxSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xlw0(xlw0SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xlr0(xlr0SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type uut(uutSEXP);
    rcpp_result_gen = Rcpp::wrap(initlslogregrobustscore(y, xl, beta, ql0, rtl0, rtl0inv, xtx0, xtx0inv, yp0, w0, abx, expabx, expabxp1, expitabx, xlw0, xlr0, uut));
    return rcpp_result_gen;
END_RCPP
}
// robust_score_test
int robust_score_test(const arma::mat& xr, const arma::vec& resids0, const arma::vec& w0, const arma::mat& xlw0, const arma::mat& xlr0, const arma::mat& xtx0, const arma::mat& xtx0inv, arma::mat& xrw0, arma::mat& xrr0, arma::mat& uut, arma::mat& cmat, arma::mat& robinfo0, arma::vec& robscore0, arma::mat& testvalue);
RcppExport SEXP _lsReg_robust_score_test(SEXP xrSEXP, SEXP resids0SEXP, SEXP w0SEXP, SEXP xlw0SEXP, SEXP xlr0SEXP, SEXP xtx0SEXP, SEXP xtx0invSEXP, SEXP xrw0SEXP, SEXP xrr0SEXP, SEXP uutSEXP, SEXP cmatSEXP, SEXP robinfo0SEXP, SEXP robscore0SEXP, SEXP testvalueSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::mat& >::type xr(xrSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type resids0(resids0SEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type w0(w0SEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xlw0(xlw0SEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xlr0(xlr0SEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xtx0(xtx0SEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xtx0inv(xtx0invSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xrw0(xrw0SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xrr0(xrr0SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type uut(uutSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type cmat(cmatSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type robinfo0(robinfo0SEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type robscore0(robscore0SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type testvalue(testvalueSEXP);
    rcpp_result_gen = Rcpp::wrap(robust_score_test(xr, resids0, w0, xlw0, xlr0, xtx0, xtx0inv, xrw0, xrr0, uut, cmat, robinfo0, robscore0, testvalue));
    return rcpp_result_gen;
END_RCPP
}
// log_wald_test
int log_wald_test(const arma::mat& xl, const arma::mat& xr, const arma::vec& betab, const arma::vec& expitabx, arma::vec& w, arma::mat& xw, arma::mat& q, arma::mat& r, arma::mat& rinv, arma::mat& xtx, arma::mat& xtxinv, arma::mat& testvalue);
RcppExport SEXP _lsReg_log_wald_test(SEXP xlSEXP, SEXP xrSEXP, SEXP betabSEXP, SEXP expitabxSEXP, SEXP wSEXP, SEXP xwSEXP, SEXP qSEXP, SEXP rSEXP, SEXP rinvSEXP, SEXP xtxSEXP, SEXP xtxinvSEXP, SEXP testvalueSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::mat& >::type xl(xlSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xr(xrSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type betab(betabSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type expitabx(expitabxSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type w(wSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xw(xwSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type q(qSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type r(rSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type rinv(rinvSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xtx(xtxSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xtxinv(xtxinvSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type testvalue(testvalueSEXP);
    rcpp_result_gen = Rcpp::wrap(log_wald_test(xl, xr, betab, expitabx, w, xw, q, r, rinv, xtx, xtxinv, testvalue));
    return rcpp_result_gen;
END_RCPP
}
// log_robustwald_test
int log_robustwald_test(const arma::mat& xl, const arma::mat& xr, const arma::vec& betab, const arma::vec& expitabx, const arma::vec& resids, arma::vec& w, arma::mat& xw, arma::mat& xrr, arma::mat& q, arma::mat& r, arma::mat& rinv, arma::mat& xtx, arma::mat& xtxinv, arma::mat& hws2, arma::mat& testvalue);
RcppExport SEXP _lsReg_log_robustwald_test(SEXP xlSEXP, SEXP xrSEXP, SEXP betabSEXP, SEXP expitabxSEXP, SEXP residsSEXP, SEXP wSEXP, SEXP xwSEXP, SEXP xrrSEXP, SEXP qSEXP, SEXP rSEXP, SEXP rinvSEXP, SEXP xtxSEXP, SEXP xtxinvSEXP, SEXP hws2SEXP, SEXP testvalueSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::mat& >::type xl(xlSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xr(xrSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type betab(betabSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type expitabx(expitabxSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type resids(residsSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type w(wSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xw(xwSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xrr(xrrSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type q(qSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type r(rSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type rinv(rinvSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xtx(xtxSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xtxinv(xtxinvSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type hws2(hws2SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type testvalue(testvalueSEXP);
    rcpp_result_gen = Rcpp::wrap(log_robustwald_test(xl, xr, betab, expitabx, resids, w, xw, xrr, q, r, rinv, xtx, xtxinv, hws2, testvalue));
    return rcpp_result_gen;
END_RCPP
}
// initlspoisregfit
int initlspoisregfit(const arma::vec& y, const arma::mat& xl, const arma::vec& beta0, arma::mat& ql0, arma::mat& rtl0, arma::mat& rtl0inv, arma::mat& xtx0, arma::mat& xtx0inv, arma::vec& yp0, arma::vec& w0, arma::vec& w0inv, arma::mat& xlw0, arma::vec& abx, arma::vec& expabx);
RcppExport SEXP _lsReg_initlspoisregfit(SEXP ySEXP, SEXP xlSEXP, SEXP beta0SEXP, SEXP ql0SEXP, SEXP rtl0SEXP, SEXP rtl0invSEXP, SEXP xtx0SEXP, SEXP xtx0invSEXP, SEXP yp0SEXP, SEXP w0SEXP, SEXP w0invSEXP, SEXP xlw0SEXP, SEXP abxSEXP, SEXP expabxSEXP) {
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 xl(xlSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type beta0(beta0SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type ql0(ql0SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type rtl0(rtl0SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type rtl0inv(rtl0invSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xtx0(xtx0SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xtx0inv(xtx0invSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type yp0(yp0SEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type w0(w0SEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type w0inv(w0invSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xlw0(xlw0SEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type abx(abxSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type expabx(expabxSEXP);
    rcpp_result_gen = Rcpp::wrap(initlspoisregfit(y, xl, beta0, ql0, rtl0, rtl0inv, xtx0, xtx0inv, yp0, w0, w0inv, xlw0, abx, expabx));
    return rcpp_result_gen;
END_RCPP
}
// lspoisregfit
int lspoisregfit(const arma::vec& y, const arma::mat& xl, const arma::mat& xr, const arma::vec& beta0, const arma::vec& yp0, const arma::mat& ql, const arma::mat& rtl, const arma::vec& k0, const arma::vec& w0, const arma::vec& winv0, arma::vec& beta, arma::vec& bt, arma::vec& bb, arma::vec& betat, arma::vec& betab, arma::vec& abx, arma::vec& expabx, arma::mat& h, arma::vec& k, arma::mat& qr, arma::mat& rtr, arma::mat& rbr, arma::vec& scoret, arma::vec& scoreb, arma::mat& t, arma::mat& xrw, arma::vec& yp, arma::vec& zt, arma::vec& zb);
RcppExport SEXP _lsReg_lspoisregfit(SEXP ySEXP, SEXP xlSEXP, SEXP xrSEXP, SEXP beta0SEXP, SEXP yp0SEXP, SEXP qlSEXP, SEXP rtlSEXP, SEXP k0SEXP, SEXP w0SEXP, SEXP winv0SEXP, SEXP betaSEXP, SEXP btSEXP, SEXP bbSEXP, SEXP betatSEXP, SEXP betabSEXP, SEXP abxSEXP, SEXP expabxSEXP, SEXP hSEXP, SEXP kSEXP, SEXP qrSEXP, SEXP rtrSEXP, SEXP rbrSEXP, SEXP scoretSEXP, SEXP scorebSEXP, SEXP tSEXP, SEXP xrwSEXP, SEXP ypSEXP, SEXP ztSEXP, SEXP zbSEXP) {
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 xl(xlSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xr(xrSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type beta0(beta0SEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type yp0(yp0SEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type ql(qlSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type rtl(rtlSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type k0(k0SEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type w0(w0SEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type winv0(winv0SEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type beta(betaSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type bt(btSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type bb(bbSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type betat(betatSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type betab(betabSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type abx(abxSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type expabx(expabxSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type h(hSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type k(kSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type qr(qrSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type rtr(rtrSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type rbr(rbrSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type scoret(scoretSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type scoreb(scorebSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type t(tSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xrw(xrwSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type yp(ypSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type zt(ztSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type zb(zbSEXP);
    rcpp_result_gen = Rcpp::wrap(lspoisregfit(y, xl, xr, beta0, yp0, ql, rtl, k0, w0, winv0, beta, bt, bb, betat, betab, abx, expabx, h, k, qr, rtr, rbr, scoret, scoreb, t, xrw, yp, zt, zb));
    return rcpp_result_gen;
END_RCPP
}
// lspoisreglikelihood
double lspoisreglikelihood(const arma::vec& y, const arma::vec& abx, const arma::vec& expabx, const arma::vec& lnfacty);
RcppExport SEXP _lsReg_lspoisreglikelihood(SEXP ySEXP, SEXP abxSEXP, SEXP expabxSEXP, SEXP lnfactySEXP) {
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 abx(abxSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type expabx(expabxSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type lnfacty(lnfactySEXP);
    rcpp_result_gen = Rcpp::wrap(lspoisreglikelihood(y, abx, expabx, lnfacty));
    return rcpp_result_gen;
END_RCPP
}
// lspoisreglrt
int lspoisreglrt(const arma::vec& y, const arma::vec& abx, const arma::vec& expabx, const arma::vec& lnfacty, arma::vec& loglike, arma::vec& testvalue);
RcppExport SEXP _lsReg_lspoisreglrt(SEXP ySEXP, SEXP abxSEXP, SEXP expabxSEXP, SEXP lnfactySEXP, SEXP loglikeSEXP, SEXP testvalueSEXP) {
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 abx(abxSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type expabx(expabxSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type lnfacty(lnfactySEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type loglike(loglikeSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type testvalue(testvalueSEXP);
    rcpp_result_gen = Rcpp::wrap(lspoisreglrt(y, abx, expabx, lnfacty, loglike, testvalue));
    return rcpp_result_gen;
END_RCPP
}
// initlspoisregscore
int initlspoisregscore(const arma::vec& y, const arma::mat& xl, const arma::vec& beta, arma::mat& ql0, arma::mat& rtl0, arma::mat& rtl0inv, arma::mat& xtx0, arma::mat& xtx0inv, arma::vec& yp0, arma::vec& w0, arma::vec& abx, arma::vec& expabx, arma::mat& xlw0);
RcppExport SEXP _lsReg_initlspoisregscore(SEXP ySEXP, SEXP xlSEXP, SEXP betaSEXP, SEXP ql0SEXP, SEXP rtl0SEXP, SEXP rtl0invSEXP, SEXP xtx0SEXP, SEXP xtx0invSEXP, SEXP yp0SEXP, SEXP w0SEXP, SEXP abxSEXP, SEXP expabxSEXP, SEXP xlw0SEXP) {
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 xl(xlSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type beta(betaSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type ql0(ql0SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type rtl0(rtl0SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type rtl0inv(rtl0invSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xtx0(xtx0SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xtx0inv(xtx0invSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type yp0(yp0SEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type w0(w0SEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type abx(abxSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type expabx(expabxSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xlw0(xlw0SEXP);
    rcpp_result_gen = Rcpp::wrap(initlspoisregscore(y, xl, beta, ql0, rtl0, rtl0inv, xtx0, xtx0inv, yp0, w0, abx, expabx, xlw0));
    return rcpp_result_gen;
END_RCPP
}
// initlspoisregrobustscore
int initlspoisregrobustscore(const arma::vec& y, const arma::mat& xl, const arma::vec& beta, arma::mat& ql0, arma::mat& rtl0, arma::mat& rtl0inv, arma::mat& xtx0, arma::mat& xtx0inv, arma::vec& yp0, arma::vec& w0, arma::vec& abx, arma::vec& expabx, arma::mat& xlw0, arma::mat& xlr0, arma::mat& uut);
RcppExport SEXP _lsReg_initlspoisregrobustscore(SEXP ySEXP, SEXP xlSEXP, SEXP betaSEXP, SEXP ql0SEXP, SEXP rtl0SEXP, SEXP rtl0invSEXP, SEXP xtx0SEXP, SEXP xtx0invSEXP, SEXP yp0SEXP, SEXP w0SEXP, SEXP abxSEXP, SEXP expabxSEXP, SEXP xlw0SEXP, SEXP xlr0SEXP, SEXP uutSEXP) {
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 xl(xlSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type beta(betaSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type ql0(ql0SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type rtl0(rtl0SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type rtl0inv(rtl0invSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xtx0(xtx0SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xtx0inv(xtx0invSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type yp0(yp0SEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type w0(w0SEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type abx(abxSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type expabx(expabxSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xlw0(xlw0SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xlr0(xlr0SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type uut(uutSEXP);
    rcpp_result_gen = Rcpp::wrap(initlspoisregrobustscore(y, xl, beta, ql0, rtl0, rtl0inv, xtx0, xtx0inv, yp0, w0, abx, expabx, xlw0, xlr0, uut));
    return rcpp_result_gen;
END_RCPP
}
// pois_wald_test
int pois_wald_test(const arma::mat& xl, const arma::mat& xr, const arma::vec& betab, const arma::vec& expabx, arma::vec& w, arma::mat& xw, arma::mat& q, arma::mat& r, arma::mat& rinv, arma::mat& xtx, arma::mat& xtxinv, arma::mat& testvalue);
RcppExport SEXP _lsReg_pois_wald_test(SEXP xlSEXP, SEXP xrSEXP, SEXP betabSEXP, SEXP expabxSEXP, SEXP wSEXP, SEXP xwSEXP, SEXP qSEXP, SEXP rSEXP, SEXP rinvSEXP, SEXP xtxSEXP, SEXP xtxinvSEXP, SEXP testvalueSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::mat& >::type xl(xlSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xr(xrSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type betab(betabSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type expabx(expabxSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type w(wSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xw(xwSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type q(qSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type r(rSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type rinv(rinvSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xtx(xtxSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xtxinv(xtxinvSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type testvalue(testvalueSEXP);
    rcpp_result_gen = Rcpp::wrap(pois_wald_test(xl, xr, betab, expabx, w, xw, q, r, rinv, xtx, xtxinv, testvalue));
    return rcpp_result_gen;
END_RCPP
}
// pois_robustwald_test
int pois_robustwald_test(const arma::mat& xl, const arma::mat& xr, const arma::vec& betab, const arma::vec& expabx, const arma::vec& resids, arma::vec& w, arma::mat& xw, arma::mat& xrr, arma::mat& q, arma::mat& r, arma::mat& rinv, arma::mat& xtx, arma::mat& xtxinv, arma::mat& hws2, arma::mat& testvalue);
RcppExport SEXP _lsReg_pois_robustwald_test(SEXP xlSEXP, SEXP xrSEXP, SEXP betabSEXP, SEXP expabxSEXP, SEXP residsSEXP, SEXP wSEXP, SEXP xwSEXP, SEXP xrrSEXP, SEXP qSEXP, SEXP rSEXP, SEXP rinvSEXP, SEXP xtxSEXP, SEXP xtxinvSEXP, SEXP hws2SEXP, SEXP testvalueSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::mat& >::type xl(xlSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type xr(xrSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type betab(betabSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type expabx(expabxSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type resids(residsSEXP);
    Rcpp::traits::input_parameter< arma::vec& >::type w(wSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xw(xwSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xrr(xrrSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type q(qSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type r(rSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type rinv(rinvSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xtx(xtxSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type xtxinv(xtxinvSEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type hws2(hws2SEXP);
    Rcpp::traits::input_parameter< arma::mat& >::type testvalue(testvalueSEXP);
    rcpp_result_gen = Rcpp::wrap(pois_robustwald_test(xl, xr, betab, expabx, resids, w, xw, xrr, q, r, rinv, xtx, xtxinv, hws2, testvalue));
    return rcpp_result_gen;
END_RCPP
}

static const R_CallMethodDef CallEntries[] = {
    {"_lsReg_initlslinregfit", (DL_FUNC) &_lsReg_initlslinregfit, 3},
    {"_lsReg_lslinregfit", (DL_FUNC) &_lsReg_lslinregfit, 16},
    {"_lsReg_initlslinreglrt", (DL_FUNC) &_lsReg_initlslinreglrt, 5},
    {"_lsReg_lslinreglrt", (DL_FUNC) &_lsReg_lslinreglrt, 8},
    {"_lsReg_initlslinregscore", (DL_FUNC) &_lsReg_initlslinregscore, 7},
    {"_lsReg_lslinregscore", (DL_FUNC) &_lsReg_lslinregscore, 9},
    {"_lsReg_initlslinregrobustscore", (DL_FUNC) &_lsReg_initlslinregrobustscore, 10},
    {"_lsReg_lslinregrobustscore", (DL_FUNC) &_lsReg_lslinregrobustscore, 11},
    {"_lsReg_initlslinregwald", (DL_FUNC) &_lsReg_initlslinregwald, 2},
    {"_lsReg_lslinregwaldtest", (DL_FUNC) &_lsReg_lslinregwaldtest, 14},
    {"_lsReg_lslinregrobustwaldtest", (DL_FUNC) &_lsReg_lslinregrobustwaldtest, 17},
    {"_lsReg_initlslogregfit", (DL_FUNC) &_lsReg_initlslogregfit, 17},
    {"_lsReg_lslogregfit", (DL_FUNC) &_lsReg_lslogregfit, 31},
    {"_lsReg_lslogreglikelihood", (DL_FUNC) &_lsReg_lslogreglikelihood, 3},
    {"_lsReg_lslogreglrt", (DL_FUNC) &_lsReg_lslogreglrt, 5},
    {"_lsReg_initlslogregscore", (DL_FUNC) &_lsReg_initlslogregscore, 15},
    {"_lsReg_score_test", (DL_FUNC) &_lsReg_score_test, 10},
    {"_lsReg_initlslogregrobustscore", (DL_FUNC) &_lsReg_initlslogregrobustscore, 17},
    {"_lsReg_robust_score_test", (DL_FUNC) &_lsReg_robust_score_test, 14},
    {"_lsReg_log_wald_test", (DL_FUNC) &_lsReg_log_wald_test, 12},
    {"_lsReg_log_robustwald_test", (DL_FUNC) &_lsReg_log_robustwald_test, 15},
    {"_lsReg_initlspoisregfit", (DL_FUNC) &_lsReg_initlspoisregfit, 14},
    {"_lsReg_lspoisregfit", (DL_FUNC) &_lsReg_lspoisregfit, 29},
    {"_lsReg_lspoisreglikelihood", (DL_FUNC) &_lsReg_lspoisreglikelihood, 4},
    {"_lsReg_lspoisreglrt", (DL_FUNC) &_lsReg_lspoisreglrt, 6},
    {"_lsReg_initlspoisregscore", (DL_FUNC) &_lsReg_initlspoisregscore, 13},
    {"_lsReg_initlspoisregrobustscore", (DL_FUNC) &_lsReg_initlspoisregrobustscore, 15},
    {"_lsReg_pois_wald_test", (DL_FUNC) &_lsReg_pois_wald_test, 12},
    {"_lsReg_pois_robustwald_test", (DL_FUNC) &_lsReg_pois_robustwald_test, 15},
    {NULL, NULL, 0}
};

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