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

// BBL
Rcpp::List BBL(arma::mat xx, arma::vec y, arma::vec ystar, arma::mat W, int maxSteps, arma::vec hatBeta, arma::vec hatAlpha, arma::vec hatInvTauSq, arma::mat invSigAlpha0, double hatLambdaSqStar, double hatSigmaSq, double aStar, double bStar, double alpha, double gamma, int progress);
RcppExport SEXP _pqrBayes_BBL(SEXP xxSEXP, SEXP ySEXP, SEXP ystarSEXP, SEXP WSEXP, SEXP maxStepsSEXP, SEXP hatBetaSEXP, SEXP hatAlphaSEXP, SEXP hatInvTauSqSEXP, SEXP invSigAlpha0SEXP, SEXP hatLambdaSqStarSEXP, SEXP hatSigmaSqSEXP, SEXP aStarSEXP, SEXP bStarSEXP, SEXP alphaSEXP, SEXP gammaSEXP, SEXP progressSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::mat >::type xx(xxSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type y(ySEXP);
    Rcpp::traits::input_parameter< arma::vec >::type ystar(ystarSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type W(WSEXP);
    Rcpp::traits::input_parameter< int >::type maxSteps(maxStepsSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatBeta(hatBetaSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatAlpha(hatAlphaSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatInvTauSq(hatInvTauSqSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type invSigAlpha0(invSigAlpha0SEXP);
    Rcpp::traits::input_parameter< double >::type hatLambdaSqStar(hatLambdaSqStarSEXP);
    Rcpp::traits::input_parameter< double >::type hatSigmaSq(hatSigmaSqSEXP);
    Rcpp::traits::input_parameter< double >::type aStar(aStarSEXP);
    Rcpp::traits::input_parameter< double >::type bStar(bStarSEXP);
    Rcpp::traits::input_parameter< double >::type alpha(alphaSEXP);
    Rcpp::traits::input_parameter< double >::type gamma(gammaSEXP);
    Rcpp::traits::input_parameter< int >::type progress(progressSEXP);
    rcpp_result_gen = Rcpp::wrap(BBL(xx, y, ystar, W, maxSteps, hatBeta, hatAlpha, hatInvTauSq, invSigAlpha0, hatLambdaSqStar, hatSigmaSq, aStar, bStar, alpha, gamma, progress));
    return rcpp_result_gen;
END_RCPP
}
// BBLSS
Rcpp::List BBLSS(arma::mat xx, arma::vec y, arma::vec ystar, arma::mat W, int maxSteps, arma::vec hatAlpha, arma::vec hatBeta, arma::vec hatInvTauSq, arma::mat invSigAlpha0, double hatPi, double hatLambdaSq, double hatSigmaSq, double aStar, double bStar, double alpha, double gamma, double sh1, double sh0, int progress);
RcppExport SEXP _pqrBayes_BBLSS(SEXP xxSEXP, SEXP ySEXP, SEXP ystarSEXP, SEXP WSEXP, SEXP maxStepsSEXP, SEXP hatAlphaSEXP, SEXP hatBetaSEXP, SEXP hatInvTauSqSEXP, SEXP invSigAlpha0SEXP, SEXP hatPiSEXP, SEXP hatLambdaSqSEXP, SEXP hatSigmaSqSEXP, SEXP aStarSEXP, SEXP bStarSEXP, SEXP alphaSEXP, SEXP gammaSEXP, SEXP sh1SEXP, SEXP sh0SEXP, SEXP progressSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::mat >::type xx(xxSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type y(ySEXP);
    Rcpp::traits::input_parameter< arma::vec >::type ystar(ystarSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type W(WSEXP);
    Rcpp::traits::input_parameter< int >::type maxSteps(maxStepsSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatAlpha(hatAlphaSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatBeta(hatBetaSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatInvTauSq(hatInvTauSqSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type invSigAlpha0(invSigAlpha0SEXP);
    Rcpp::traits::input_parameter< double >::type hatPi(hatPiSEXP);
    Rcpp::traits::input_parameter< double >::type hatLambdaSq(hatLambdaSqSEXP);
    Rcpp::traits::input_parameter< double >::type hatSigmaSq(hatSigmaSqSEXP);
    Rcpp::traits::input_parameter< double >::type aStar(aStarSEXP);
    Rcpp::traits::input_parameter< double >::type bStar(bStarSEXP);
    Rcpp::traits::input_parameter< double >::type alpha(alphaSEXP);
    Rcpp::traits::input_parameter< double >::type gamma(gammaSEXP);
    Rcpp::traits::input_parameter< double >::type sh1(sh1SEXP);
    Rcpp::traits::input_parameter< double >::type sh0(sh0SEXP);
    Rcpp::traits::input_parameter< int >::type progress(progressSEXP);
    rcpp_result_gen = Rcpp::wrap(BBLSS(xx, y, ystar, W, maxSteps, hatAlpha, hatBeta, hatInvTauSq, invSigAlpha0, hatPi, hatLambdaSq, hatSigmaSq, aStar, bStar, alpha, gamma, sh1, sh0, progress));
    return rcpp_result_gen;
END_RCPP
}
// BGLPointMass
Rcpp::List BGLPointMass(arma::mat xx, arma::vec y, arma::mat W, unsigned int s, unsigned int q, int maxSteps, arma::vec hatAlpha, arma::vec hatBeta, arma::vec hatInvTauSqStar, arma::mat invSigAlpha0, double hatPiStar, double hatLambdaSqStar, double hatSigmaSq, double aStar, double bStar, double alpha, double gamma, double sh1, double sh0, int progress);
RcppExport SEXP _pqrBayes_BGLPointMass(SEXP xxSEXP, SEXP ySEXP, SEXP WSEXP, SEXP sSEXP, SEXP qSEXP, SEXP maxStepsSEXP, SEXP hatAlphaSEXP, SEXP hatBetaSEXP, SEXP hatInvTauSqStarSEXP, SEXP invSigAlpha0SEXP, SEXP hatPiStarSEXP, SEXP hatLambdaSqStarSEXP, SEXP hatSigmaSqSEXP, SEXP aStarSEXP, SEXP bStarSEXP, SEXP alphaSEXP, SEXP gammaSEXP, SEXP sh1SEXP, SEXP sh0SEXP, SEXP progressSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::mat >::type xx(xxSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type y(ySEXP);
    Rcpp::traits::input_parameter< arma::mat >::type W(WSEXP);
    Rcpp::traits::input_parameter< unsigned int >::type s(sSEXP);
    Rcpp::traits::input_parameter< unsigned int >::type q(qSEXP);
    Rcpp::traits::input_parameter< int >::type maxSteps(maxStepsSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatAlpha(hatAlphaSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatBeta(hatBetaSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatInvTauSqStar(hatInvTauSqStarSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type invSigAlpha0(invSigAlpha0SEXP);
    Rcpp::traits::input_parameter< double >::type hatPiStar(hatPiStarSEXP);
    Rcpp::traits::input_parameter< double >::type hatLambdaSqStar(hatLambdaSqStarSEXP);
    Rcpp::traits::input_parameter< double >::type hatSigmaSq(hatSigmaSqSEXP);
    Rcpp::traits::input_parameter< double >::type aStar(aStarSEXP);
    Rcpp::traits::input_parameter< double >::type bStar(bStarSEXP);
    Rcpp::traits::input_parameter< double >::type alpha(alphaSEXP);
    Rcpp::traits::input_parameter< double >::type gamma(gammaSEXP);
    Rcpp::traits::input_parameter< double >::type sh1(sh1SEXP);
    Rcpp::traits::input_parameter< double >::type sh0(sh0SEXP);
    Rcpp::traits::input_parameter< int >::type progress(progressSEXP);
    rcpp_result_gen = Rcpp::wrap(BGLPointMass(xx, y, W, s, q, maxSteps, hatAlpha, hatBeta, hatInvTauSqStar, invSigAlpha0, hatPiStar, hatLambdaSqStar, hatSigmaSq, aStar, bStar, alpha, gamma, sh1, sh0, progress));
    return rcpp_result_gen;
END_RCPP
}
// BGL
Rcpp::List BGL(arma::mat xx, arma::vec y, arma::mat W, unsigned int s, unsigned int q, int maxSteps, arma::vec hatBeta, arma::vec hatAlpha, arma::vec hatInvTauSq, arma::mat invSigAlpha0, double hatLambdaSqStar, double hatSigmaSq, double aStar, double bStar, double alpha, double gamma, int progress);
RcppExport SEXP _pqrBayes_BGL(SEXP xxSEXP, SEXP ySEXP, SEXP WSEXP, SEXP sSEXP, SEXP qSEXP, SEXP maxStepsSEXP, SEXP hatBetaSEXP, SEXP hatAlphaSEXP, SEXP hatInvTauSqSEXP, SEXP invSigAlpha0SEXP, SEXP hatLambdaSqStarSEXP, SEXP hatSigmaSqSEXP, SEXP aStarSEXP, SEXP bStarSEXP, SEXP alphaSEXP, SEXP gammaSEXP, SEXP progressSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::mat >::type xx(xxSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type y(ySEXP);
    Rcpp::traits::input_parameter< arma::mat >::type W(WSEXP);
    Rcpp::traits::input_parameter< unsigned int >::type s(sSEXP);
    Rcpp::traits::input_parameter< unsigned int >::type q(qSEXP);
    Rcpp::traits::input_parameter< int >::type maxSteps(maxStepsSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatBeta(hatBetaSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatAlpha(hatAlphaSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatInvTauSq(hatInvTauSqSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type invSigAlpha0(invSigAlpha0SEXP);
    Rcpp::traits::input_parameter< double >::type hatLambdaSqStar(hatLambdaSqStarSEXP);
    Rcpp::traits::input_parameter< double >::type hatSigmaSq(hatSigmaSqSEXP);
    Rcpp::traits::input_parameter< double >::type aStar(aStarSEXP);
    Rcpp::traits::input_parameter< double >::type bStar(bStarSEXP);
    Rcpp::traits::input_parameter< double >::type alpha(alphaSEXP);
    Rcpp::traits::input_parameter< double >::type gamma(gammaSEXP);
    Rcpp::traits::input_parameter< int >::type progress(progressSEXP);
    rcpp_result_gen = Rcpp::wrap(BGL(xx, y, W, s, q, maxSteps, hatBeta, hatAlpha, hatInvTauSq, invSigAlpha0, hatLambdaSqStar, hatSigmaSq, aStar, bStar, alpha, gamma, progress));
    return rcpp_result_gen;
END_RCPP
}
// BL
Rcpp::List BL(arma::mat xx, arma::vec y, arma::mat W, int maxSteps, arma::vec hatBeta, arma::vec hatAlpha, arma::vec hatInvTauSq, arma::mat invSigAlpha0, double hatLambdaSqStar, double hatSigmaSq, double aStar, double bStar, double alpha, double gamma, int progress);
RcppExport SEXP _pqrBayes_BL(SEXP xxSEXP, SEXP ySEXP, SEXP WSEXP, SEXP maxStepsSEXP, SEXP hatBetaSEXP, SEXP hatAlphaSEXP, SEXP hatInvTauSqSEXP, SEXP invSigAlpha0SEXP, SEXP hatLambdaSqStarSEXP, SEXP hatSigmaSqSEXP, SEXP aStarSEXP, SEXP bStarSEXP, SEXP alphaSEXP, SEXP gammaSEXP, SEXP progressSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::mat >::type xx(xxSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type y(ySEXP);
    Rcpp::traits::input_parameter< arma::mat >::type W(WSEXP);
    Rcpp::traits::input_parameter< int >::type maxSteps(maxStepsSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatBeta(hatBetaSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatAlpha(hatAlphaSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatInvTauSq(hatInvTauSqSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type invSigAlpha0(invSigAlpha0SEXP);
    Rcpp::traits::input_parameter< double >::type hatLambdaSqStar(hatLambdaSqStarSEXP);
    Rcpp::traits::input_parameter< double >::type hatSigmaSq(hatSigmaSqSEXP);
    Rcpp::traits::input_parameter< double >::type aStar(aStarSEXP);
    Rcpp::traits::input_parameter< double >::type bStar(bStarSEXP);
    Rcpp::traits::input_parameter< double >::type alpha(alphaSEXP);
    Rcpp::traits::input_parameter< double >::type gamma(gammaSEXP);
    Rcpp::traits::input_parameter< int >::type progress(progressSEXP);
    rcpp_result_gen = Rcpp::wrap(BL(xx, y, W, maxSteps, hatBeta, hatAlpha, hatInvTauSq, invSigAlpha0, hatLambdaSqStar, hatSigmaSq, aStar, bStar, alpha, gamma, progress));
    return rcpp_result_gen;
END_RCPP
}
// BLSS
Rcpp::List BLSS(arma::mat xx, arma::vec y, arma::mat W, int maxSteps, arma::vec hatAlpha, arma::vec hatBeta, arma::vec hatInvTauSq, arma::mat invSigAlpha0, double hatPi, double hatLambdaSq, double hatSigmaSq, double aStar, double bStar, double alpha, double gamma, double sh1, double sh0, int progress);
RcppExport SEXP _pqrBayes_BLSS(SEXP xxSEXP, SEXP ySEXP, SEXP WSEXP, SEXP maxStepsSEXP, SEXP hatAlphaSEXP, SEXP hatBetaSEXP, SEXP hatInvTauSqSEXP, SEXP invSigAlpha0SEXP, SEXP hatPiSEXP, SEXP hatLambdaSqSEXP, SEXP hatSigmaSqSEXP, SEXP aStarSEXP, SEXP bStarSEXP, SEXP alphaSEXP, SEXP gammaSEXP, SEXP sh1SEXP, SEXP sh0SEXP, SEXP progressSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::mat >::type xx(xxSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type y(ySEXP);
    Rcpp::traits::input_parameter< arma::mat >::type W(WSEXP);
    Rcpp::traits::input_parameter< int >::type maxSteps(maxStepsSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatAlpha(hatAlphaSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatBeta(hatBetaSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatInvTauSq(hatInvTauSqSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type invSigAlpha0(invSigAlpha0SEXP);
    Rcpp::traits::input_parameter< double >::type hatPi(hatPiSEXP);
    Rcpp::traits::input_parameter< double >::type hatLambdaSq(hatLambdaSqSEXP);
    Rcpp::traits::input_parameter< double >::type hatSigmaSq(hatSigmaSqSEXP);
    Rcpp::traits::input_parameter< double >::type aStar(aStarSEXP);
    Rcpp::traits::input_parameter< double >::type bStar(bStarSEXP);
    Rcpp::traits::input_parameter< double >::type alpha(alphaSEXP);
    Rcpp::traits::input_parameter< double >::type gamma(gammaSEXP);
    Rcpp::traits::input_parameter< double >::type sh1(sh1SEXP);
    Rcpp::traits::input_parameter< double >::type sh0(sh0SEXP);
    Rcpp::traits::input_parameter< int >::type progress(progressSEXP);
    rcpp_result_gen = Rcpp::wrap(BLSS(xx, y, W, maxSteps, hatAlpha, hatBeta, hatInvTauSq, invSigAlpha0, hatPi, hatLambdaSq, hatSigmaSq, aStar, bStar, alpha, gamma, sh1, sh0, progress));
    return rcpp_result_gen;
END_RCPP
}
// BRL
Rcpp::List BRL(arma::mat xx, arma::vec y, arma::mat W, int maxSteps, arma::vec hatAlpha, arma::vec hatBeta, double hatTau, arma::vec hatV, arma::vec hatSg, arma::mat invSigAlpha0, double hatEtaSq, double xi1, double xi2, double r1, double a, double b, int progress);
RcppExport SEXP _pqrBayes_BRL(SEXP xxSEXP, SEXP ySEXP, SEXP WSEXP, SEXP maxStepsSEXP, SEXP hatAlphaSEXP, SEXP hatBetaSEXP, SEXP hatTauSEXP, SEXP hatVSEXP, SEXP hatSgSEXP, SEXP invSigAlpha0SEXP, SEXP hatEtaSqSEXP, SEXP xi1SEXP, SEXP xi2SEXP, SEXP r1SEXP, SEXP aSEXP, SEXP bSEXP, SEXP progressSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::mat >::type xx(xxSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type y(ySEXP);
    Rcpp::traits::input_parameter< arma::mat >::type W(WSEXP);
    Rcpp::traits::input_parameter< int >::type maxSteps(maxStepsSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatAlpha(hatAlphaSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatBeta(hatBetaSEXP);
    Rcpp::traits::input_parameter< double >::type hatTau(hatTauSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatV(hatVSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatSg(hatSgSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type invSigAlpha0(invSigAlpha0SEXP);
    Rcpp::traits::input_parameter< double >::type hatEtaSq(hatEtaSqSEXP);
    Rcpp::traits::input_parameter< double >::type xi1(xi1SEXP);
    Rcpp::traits::input_parameter< double >::type xi2(xi2SEXP);
    Rcpp::traits::input_parameter< double >::type r1(r1SEXP);
    Rcpp::traits::input_parameter< double >::type a(aSEXP);
    Rcpp::traits::input_parameter< double >::type b(bSEXP);
    Rcpp::traits::input_parameter< int >::type progress(progressSEXP);
    rcpp_result_gen = Rcpp::wrap(BRL(xx, y, W, maxSteps, hatAlpha, hatBeta, hatTau, hatV, hatSg, invSigAlpha0, hatEtaSq, xi1, xi2, r1, a, b, progress));
    return rcpp_result_gen;
END_RCPP
}
// BRLSS
Rcpp::List BRLSS(arma::mat xx, arma::vec y, arma::mat W, int maxSteps, arma::vec hatAlpha, arma::vec hatBeta, double hatTau, arma::vec hatV, arma::vec hatSg, arma::mat invSigAlpha0, double hatPi, double hatEtaSq, double xi1, double xi2, double r1, double a, double b, double sh1, double sh0, int progress);
RcppExport SEXP _pqrBayes_BRLSS(SEXP xxSEXP, SEXP ySEXP, SEXP WSEXP, SEXP maxStepsSEXP, SEXP hatAlphaSEXP, SEXP hatBetaSEXP, SEXP hatTauSEXP, SEXP hatVSEXP, SEXP hatSgSEXP, SEXP invSigAlpha0SEXP, SEXP hatPiSEXP, SEXP hatEtaSqSEXP, SEXP xi1SEXP, SEXP xi2SEXP, SEXP r1SEXP, SEXP aSEXP, SEXP bSEXP, SEXP sh1SEXP, SEXP sh0SEXP, SEXP progressSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::mat >::type xx(xxSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type y(ySEXP);
    Rcpp::traits::input_parameter< arma::mat >::type W(WSEXP);
    Rcpp::traits::input_parameter< int >::type maxSteps(maxStepsSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatAlpha(hatAlphaSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatBeta(hatBetaSEXP);
    Rcpp::traits::input_parameter< double >::type hatTau(hatTauSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatV(hatVSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatSg(hatSgSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type invSigAlpha0(invSigAlpha0SEXP);
    Rcpp::traits::input_parameter< double >::type hatPi(hatPiSEXP);
    Rcpp::traits::input_parameter< double >::type hatEtaSq(hatEtaSqSEXP);
    Rcpp::traits::input_parameter< double >::type xi1(xi1SEXP);
    Rcpp::traits::input_parameter< double >::type xi2(xi2SEXP);
    Rcpp::traits::input_parameter< double >::type r1(r1SEXP);
    Rcpp::traits::input_parameter< double >::type a(aSEXP);
    Rcpp::traits::input_parameter< double >::type b(bSEXP);
    Rcpp::traits::input_parameter< double >::type sh1(sh1SEXP);
    Rcpp::traits::input_parameter< double >::type sh0(sh0SEXP);
    Rcpp::traits::input_parameter< int >::type progress(progressSEXP);
    rcpp_result_gen = Rcpp::wrap(BRLSS(xx, y, W, maxSteps, hatAlpha, hatBeta, hatTau, hatV, hatSg, invSigAlpha0, hatPi, hatEtaSq, xi1, xi2, r1, a, b, sh1, sh0, progress));
    return rcpp_result_gen;
END_RCPP
}
// BRBL
Rcpp::List BRBL(arma::mat xx, arma::vec y, arma::vec ystar, arma::mat W, int maxSteps, arma::vec hatAlpha, arma::vec hatBeta, double hatTau, arma::vec hatV, arma::vec hatSg, arma::mat invSigAlpha0, double hatEtaSq, double xi1, double xi2, double r1, double a, double b, int progress);
RcppExport SEXP _pqrBayes_BRBL(SEXP xxSEXP, SEXP ySEXP, SEXP ystarSEXP, SEXP WSEXP, SEXP maxStepsSEXP, SEXP hatAlphaSEXP, SEXP hatBetaSEXP, SEXP hatTauSEXP, SEXP hatVSEXP, SEXP hatSgSEXP, SEXP invSigAlpha0SEXP, SEXP hatEtaSqSEXP, SEXP xi1SEXP, SEXP xi2SEXP, SEXP r1SEXP, SEXP aSEXP, SEXP bSEXP, SEXP progressSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::mat >::type xx(xxSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type y(ySEXP);
    Rcpp::traits::input_parameter< arma::vec >::type ystar(ystarSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type W(WSEXP);
    Rcpp::traits::input_parameter< int >::type maxSteps(maxStepsSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatAlpha(hatAlphaSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatBeta(hatBetaSEXP);
    Rcpp::traits::input_parameter< double >::type hatTau(hatTauSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatV(hatVSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatSg(hatSgSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type invSigAlpha0(invSigAlpha0SEXP);
    Rcpp::traits::input_parameter< double >::type hatEtaSq(hatEtaSqSEXP);
    Rcpp::traits::input_parameter< double >::type xi1(xi1SEXP);
    Rcpp::traits::input_parameter< double >::type xi2(xi2SEXP);
    Rcpp::traits::input_parameter< double >::type r1(r1SEXP);
    Rcpp::traits::input_parameter< double >::type a(aSEXP);
    Rcpp::traits::input_parameter< double >::type b(bSEXP);
    Rcpp::traits::input_parameter< int >::type progress(progressSEXP);
    rcpp_result_gen = Rcpp::wrap(BRBL(xx, y, ystar, W, maxSteps, hatAlpha, hatBeta, hatTau, hatV, hatSg, invSigAlpha0, hatEtaSq, xi1, xi2, r1, a, b, progress));
    return rcpp_result_gen;
END_RCPP
}
// BRBLSS
Rcpp::List BRBLSS(arma::mat xx, arma::vec y, arma::vec ystar, arma::mat W, int maxSteps, arma::vec hatAlpha, arma::vec hatBeta, double hatTau, arma::vec hatV, arma::vec hatSg, arma::mat invSigAlpha0, double hatPi, double hatEtaSq, double xi1, double xi2, double r1, double a, double b, double sh1, double sh0, int progress);
RcppExport SEXP _pqrBayes_BRBLSS(SEXP xxSEXP, SEXP ySEXP, SEXP ystarSEXP, SEXP WSEXP, SEXP maxStepsSEXP, SEXP hatAlphaSEXP, SEXP hatBetaSEXP, SEXP hatTauSEXP, SEXP hatVSEXP, SEXP hatSgSEXP, SEXP invSigAlpha0SEXP, SEXP hatPiSEXP, SEXP hatEtaSqSEXP, SEXP xi1SEXP, SEXP xi2SEXP, SEXP r1SEXP, SEXP aSEXP, SEXP bSEXP, SEXP sh1SEXP, SEXP sh0SEXP, SEXP progressSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::mat >::type xx(xxSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type y(ySEXP);
    Rcpp::traits::input_parameter< arma::vec >::type ystar(ystarSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type W(WSEXP);
    Rcpp::traits::input_parameter< int >::type maxSteps(maxStepsSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatAlpha(hatAlphaSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatBeta(hatBetaSEXP);
    Rcpp::traits::input_parameter< double >::type hatTau(hatTauSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatV(hatVSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatSg(hatSgSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type invSigAlpha0(invSigAlpha0SEXP);
    Rcpp::traits::input_parameter< double >::type hatPi(hatPiSEXP);
    Rcpp::traits::input_parameter< double >::type hatEtaSq(hatEtaSqSEXP);
    Rcpp::traits::input_parameter< double >::type xi1(xi1SEXP);
    Rcpp::traits::input_parameter< double >::type xi2(xi2SEXP);
    Rcpp::traits::input_parameter< double >::type r1(r1SEXP);
    Rcpp::traits::input_parameter< double >::type a(aSEXP);
    Rcpp::traits::input_parameter< double >::type b(bSEXP);
    Rcpp::traits::input_parameter< double >::type sh1(sh1SEXP);
    Rcpp::traits::input_parameter< double >::type sh0(sh0SEXP);
    Rcpp::traits::input_parameter< int >::type progress(progressSEXP);
    rcpp_result_gen = Rcpp::wrap(BRBLSS(xx, y, ystar, W, maxSteps, hatAlpha, hatBeta, hatTau, hatV, hatSg, invSigAlpha0, hatPi, hatEtaSq, xi1, xi2, r1, a, b, sh1, sh0, progress));
    return rcpp_result_gen;
END_RCPP
}
// BRGL_SS
Rcpp::List BRGL_SS(arma::mat xx, arma::vec y, arma::mat W, unsigned int s, unsigned int L, int maxSteps, arma::vec hatAlpha, arma::mat hatBeta, double hatTau, arma::vec hatV, arma::vec hatSg, arma::mat invSigAlpha0, double hatPi, double hatEtaSq, double xi1, double xi2, double r, double a, double b, double sh1, double sh0, int progress);
RcppExport SEXP _pqrBayes_BRGL_SS(SEXP xxSEXP, SEXP ySEXP, SEXP WSEXP, SEXP sSEXP, SEXP LSEXP, SEXP maxStepsSEXP, SEXP hatAlphaSEXP, SEXP hatBetaSEXP, SEXP hatTauSEXP, SEXP hatVSEXP, SEXP hatSgSEXP, SEXP invSigAlpha0SEXP, SEXP hatPiSEXP, SEXP hatEtaSqSEXP, SEXP xi1SEXP, SEXP xi2SEXP, SEXP rSEXP, SEXP aSEXP, SEXP bSEXP, SEXP sh1SEXP, SEXP sh0SEXP, SEXP progressSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::mat >::type xx(xxSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type y(ySEXP);
    Rcpp::traits::input_parameter< arma::mat >::type W(WSEXP);
    Rcpp::traits::input_parameter< unsigned int >::type s(sSEXP);
    Rcpp::traits::input_parameter< unsigned int >::type L(LSEXP);
    Rcpp::traits::input_parameter< int >::type maxSteps(maxStepsSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatAlpha(hatAlphaSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type hatBeta(hatBetaSEXP);
    Rcpp::traits::input_parameter< double >::type hatTau(hatTauSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatV(hatVSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatSg(hatSgSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type invSigAlpha0(invSigAlpha0SEXP);
    Rcpp::traits::input_parameter< double >::type hatPi(hatPiSEXP);
    Rcpp::traits::input_parameter< double >::type hatEtaSq(hatEtaSqSEXP);
    Rcpp::traits::input_parameter< double >::type xi1(xi1SEXP);
    Rcpp::traits::input_parameter< double >::type xi2(xi2SEXP);
    Rcpp::traits::input_parameter< double >::type r(rSEXP);
    Rcpp::traits::input_parameter< double >::type a(aSEXP);
    Rcpp::traits::input_parameter< double >::type b(bSEXP);
    Rcpp::traits::input_parameter< double >::type sh1(sh1SEXP);
    Rcpp::traits::input_parameter< double >::type sh0(sh0SEXP);
    Rcpp::traits::input_parameter< int >::type progress(progressSEXP);
    rcpp_result_gen = Rcpp::wrap(BRGL_SS(xx, y, W, s, L, maxSteps, hatAlpha, hatBeta, hatTau, hatV, hatSg, invSigAlpha0, hatPi, hatEtaSq, xi1, xi2, r, a, b, sh1, sh0, progress));
    return rcpp_result_gen;
END_RCPP
}
// BRGL
Rcpp::List BRGL(arma::mat xx, arma::vec y, arma::mat W, unsigned int s, unsigned int L, int maxSteps, arma::vec hatAlpha, arma::mat hatBeta, double hatTau, arma::vec hatV, arma::vec hatSg, arma::mat invSigAlpha0, double hatEtaSq, double xi1, double xi2, double r, double a, double b, int progress);
RcppExport SEXP _pqrBayes_BRGL(SEXP xxSEXP, SEXP ySEXP, SEXP WSEXP, SEXP sSEXP, SEXP LSEXP, SEXP maxStepsSEXP, SEXP hatAlphaSEXP, SEXP hatBetaSEXP, SEXP hatTauSEXP, SEXP hatVSEXP, SEXP hatSgSEXP, SEXP invSigAlpha0SEXP, SEXP hatEtaSqSEXP, SEXP xi1SEXP, SEXP xi2SEXP, SEXP rSEXP, SEXP aSEXP, SEXP bSEXP, SEXP progressSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::mat >::type xx(xxSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type y(ySEXP);
    Rcpp::traits::input_parameter< arma::mat >::type W(WSEXP);
    Rcpp::traits::input_parameter< unsigned int >::type s(sSEXP);
    Rcpp::traits::input_parameter< unsigned int >::type L(LSEXP);
    Rcpp::traits::input_parameter< int >::type maxSteps(maxStepsSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatAlpha(hatAlphaSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type hatBeta(hatBetaSEXP);
    Rcpp::traits::input_parameter< double >::type hatTau(hatTauSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatV(hatVSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatSg(hatSgSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type invSigAlpha0(invSigAlpha0SEXP);
    Rcpp::traits::input_parameter< double >::type hatEtaSq(hatEtaSqSEXP);
    Rcpp::traits::input_parameter< double >::type xi1(xi1SEXP);
    Rcpp::traits::input_parameter< double >::type xi2(xi2SEXP);
    Rcpp::traits::input_parameter< double >::type r(rSEXP);
    Rcpp::traits::input_parameter< double >::type a(aSEXP);
    Rcpp::traits::input_parameter< double >::type b(bSEXP);
    Rcpp::traits::input_parameter< int >::type progress(progressSEXP);
    rcpp_result_gen = Rcpp::wrap(BRGL(xx, y, W, s, L, maxSteps, hatAlpha, hatBeta, hatTau, hatV, hatSg, invSigAlpha0, hatEtaSq, xi1, xi2, r, a, b, progress));
    return rcpp_result_gen;
END_RCPP
}
// RBhorse_plus
Rcpp::List RBhorse_plus(arma::mat xx, arma::vec y, arma::mat W, int maxSteps, arma::vec hatAlpha, arma::vec hatBeta, double hatSigma, arma::vec hatV, arma::vec hatSg, arma::vec hatetaSq, arma::vec hatnu_1, arma::vec hatnu_2, arma::mat invSigAlpha0, double hatTauSq, double xi1, double xi2, double hatZeta, double a, double b, int progress);
RcppExport SEXP _pqrBayes_RBhorse_plus(SEXP xxSEXP, SEXP ySEXP, SEXP WSEXP, SEXP maxStepsSEXP, SEXP hatAlphaSEXP, SEXP hatBetaSEXP, SEXP hatSigmaSEXP, SEXP hatVSEXP, SEXP hatSgSEXP, SEXP hatetaSqSEXP, SEXP hatnu_1SEXP, SEXP hatnu_2SEXP, SEXP invSigAlpha0SEXP, SEXP hatTauSqSEXP, SEXP xi1SEXP, SEXP xi2SEXP, SEXP hatZetaSEXP, SEXP aSEXP, SEXP bSEXP, SEXP progressSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::mat >::type xx(xxSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type y(ySEXP);
    Rcpp::traits::input_parameter< arma::mat >::type W(WSEXP);
    Rcpp::traits::input_parameter< int >::type maxSteps(maxStepsSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatAlpha(hatAlphaSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatBeta(hatBetaSEXP);
    Rcpp::traits::input_parameter< double >::type hatSigma(hatSigmaSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatV(hatVSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatSg(hatSgSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatetaSq(hatetaSqSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatnu_1(hatnu_1SEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatnu_2(hatnu_2SEXP);
    Rcpp::traits::input_parameter< arma::mat >::type invSigAlpha0(invSigAlpha0SEXP);
    Rcpp::traits::input_parameter< double >::type hatTauSq(hatTauSqSEXP);
    Rcpp::traits::input_parameter< double >::type xi1(xi1SEXP);
    Rcpp::traits::input_parameter< double >::type xi2(xi2SEXP);
    Rcpp::traits::input_parameter< double >::type hatZeta(hatZetaSEXP);
    Rcpp::traits::input_parameter< double >::type a(aSEXP);
    Rcpp::traits::input_parameter< double >::type b(bSEXP);
    Rcpp::traits::input_parameter< int >::type progress(progressSEXP);
    rcpp_result_gen = Rcpp::wrap(RBhorse_plus(xx, y, W, maxSteps, hatAlpha, hatBeta, hatSigma, hatV, hatSg, hatetaSq, hatnu_1, hatnu_2, invSigAlpha0, hatTauSq, xi1, xi2, hatZeta, a, b, progress));
    return rcpp_result_gen;
END_RCPP
}
// RBhorse
Rcpp::List RBhorse(arma::mat xx, arma::vec y, arma::mat W, int maxSteps, arma::vec hatAlpha, arma::vec hatBeta, double hatSigma, arma::vec hatV, arma::vec hatSg, arma::vec hatnu, arma::mat invSigAlpha0, double hatTauSq, double xi1, double xi2, double hatZeta, double a, double b, int progress);
RcppExport SEXP _pqrBayes_RBhorse(SEXP xxSEXP, SEXP ySEXP, SEXP WSEXP, SEXP maxStepsSEXP, SEXP hatAlphaSEXP, SEXP hatBetaSEXP, SEXP hatSigmaSEXP, SEXP hatVSEXP, SEXP hatSgSEXP, SEXP hatnuSEXP, SEXP invSigAlpha0SEXP, SEXP hatTauSqSEXP, SEXP xi1SEXP, SEXP xi2SEXP, SEXP hatZetaSEXP, SEXP aSEXP, SEXP bSEXP, SEXP progressSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::mat >::type xx(xxSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type y(ySEXP);
    Rcpp::traits::input_parameter< arma::mat >::type W(WSEXP);
    Rcpp::traits::input_parameter< int >::type maxSteps(maxStepsSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatAlpha(hatAlphaSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatBeta(hatBetaSEXP);
    Rcpp::traits::input_parameter< double >::type hatSigma(hatSigmaSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatV(hatVSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatSg(hatSgSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatnu(hatnuSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type invSigAlpha0(invSigAlpha0SEXP);
    Rcpp::traits::input_parameter< double >::type hatTauSq(hatTauSqSEXP);
    Rcpp::traits::input_parameter< double >::type xi1(xi1SEXP);
    Rcpp::traits::input_parameter< double >::type xi2(xi2SEXP);
    Rcpp::traits::input_parameter< double >::type hatZeta(hatZetaSEXP);
    Rcpp::traits::input_parameter< double >::type a(aSEXP);
    Rcpp::traits::input_parameter< double >::type b(bSEXP);
    Rcpp::traits::input_parameter< int >::type progress(progressSEXP);
    rcpp_result_gen = Rcpp::wrap(RBhorse(xx, y, W, maxSteps, hatAlpha, hatBeta, hatSigma, hatV, hatSg, hatnu, invSigAlpha0, hatTauSq, xi1, xi2, hatZeta, a, b, progress));
    return rcpp_result_gen;
END_RCPP
}
// RBhorse_reg
Rcpp::List RBhorse_reg(arma::mat xx, arma::vec y, arma::mat W, int maxSteps, arma::vec hatAlpha, arma::vec hatBeta, double hatSigma, double hatcSq, arma::vec hatV, arma::vec hatSg, arma::vec hatnu, arma::mat invSigAlpha0, double hatTauSq, double xi1, double xi2, double hatZeta, double a, double b, double c, double d, int progress);
RcppExport SEXP _pqrBayes_RBhorse_reg(SEXP xxSEXP, SEXP ySEXP, SEXP WSEXP, SEXP maxStepsSEXP, SEXP hatAlphaSEXP, SEXP hatBetaSEXP, SEXP hatSigmaSEXP, SEXP hatcSqSEXP, SEXP hatVSEXP, SEXP hatSgSEXP, SEXP hatnuSEXP, SEXP invSigAlpha0SEXP, SEXP hatTauSqSEXP, SEXP xi1SEXP, SEXP xi2SEXP, SEXP hatZetaSEXP, SEXP aSEXP, SEXP bSEXP, SEXP cSEXP, SEXP dSEXP, SEXP progressSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::mat >::type xx(xxSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type y(ySEXP);
    Rcpp::traits::input_parameter< arma::mat >::type W(WSEXP);
    Rcpp::traits::input_parameter< int >::type maxSteps(maxStepsSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatAlpha(hatAlphaSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatBeta(hatBetaSEXP);
    Rcpp::traits::input_parameter< double >::type hatSigma(hatSigmaSEXP);
    Rcpp::traits::input_parameter< double >::type hatcSq(hatcSqSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatV(hatVSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatSg(hatSgSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatnu(hatnuSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type invSigAlpha0(invSigAlpha0SEXP);
    Rcpp::traits::input_parameter< double >::type hatTauSq(hatTauSqSEXP);
    Rcpp::traits::input_parameter< double >::type xi1(xi1SEXP);
    Rcpp::traits::input_parameter< double >::type xi2(xi2SEXP);
    Rcpp::traits::input_parameter< double >::type hatZeta(hatZetaSEXP);
    Rcpp::traits::input_parameter< double >::type a(aSEXP);
    Rcpp::traits::input_parameter< double >::type b(bSEXP);
    Rcpp::traits::input_parameter< double >::type c(cSEXP);
    Rcpp::traits::input_parameter< double >::type d(dSEXP);
    Rcpp::traits::input_parameter< int >::type progress(progressSEXP);
    rcpp_result_gen = Rcpp::wrap(RBhorse_reg(xx, y, W, maxSteps, hatAlpha, hatBeta, hatSigma, hatcSq, hatV, hatSg, hatnu, invSigAlpha0, hatTauSq, xi1, xi2, hatZeta, a, b, c, d, progress));
    return rcpp_result_gen;
END_RCPP
}
// Bhorse_plus
Rcpp::List Bhorse_plus(arma::mat xx, arma::vec y, arma::mat W, int maxSteps, arma::vec hatBeta, arma::vec hatAlpha, arma::vec hatlamSq, arma::vec hatetaSq, arma::vec hatnu_1, arma::vec hatnu_2, arma::mat invSigAlpha0, double hatTauSq, double hatSigmaSq, double hatZeta, double a, double b, int progress);
RcppExport SEXP _pqrBayes_Bhorse_plus(SEXP xxSEXP, SEXP ySEXP, SEXP WSEXP, SEXP maxStepsSEXP, SEXP hatBetaSEXP, SEXP hatAlphaSEXP, SEXP hatlamSqSEXP, SEXP hatetaSqSEXP, SEXP hatnu_1SEXP, SEXP hatnu_2SEXP, SEXP invSigAlpha0SEXP, SEXP hatTauSqSEXP, SEXP hatSigmaSqSEXP, SEXP hatZetaSEXP, SEXP aSEXP, SEXP bSEXP, SEXP progressSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::mat >::type xx(xxSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type y(ySEXP);
    Rcpp::traits::input_parameter< arma::mat >::type W(WSEXP);
    Rcpp::traits::input_parameter< int >::type maxSteps(maxStepsSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatBeta(hatBetaSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatAlpha(hatAlphaSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatlamSq(hatlamSqSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatetaSq(hatetaSqSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatnu_1(hatnu_1SEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatnu_2(hatnu_2SEXP);
    Rcpp::traits::input_parameter< arma::mat >::type invSigAlpha0(invSigAlpha0SEXP);
    Rcpp::traits::input_parameter< double >::type hatTauSq(hatTauSqSEXP);
    Rcpp::traits::input_parameter< double >::type hatSigmaSq(hatSigmaSqSEXP);
    Rcpp::traits::input_parameter< double >::type hatZeta(hatZetaSEXP);
    Rcpp::traits::input_parameter< double >::type a(aSEXP);
    Rcpp::traits::input_parameter< double >::type b(bSEXP);
    Rcpp::traits::input_parameter< int >::type progress(progressSEXP);
    rcpp_result_gen = Rcpp::wrap(Bhorse_plus(xx, y, W, maxSteps, hatBeta, hatAlpha, hatlamSq, hatetaSq, hatnu_1, hatnu_2, invSigAlpha0, hatTauSq, hatSigmaSq, hatZeta, a, b, progress));
    return rcpp_result_gen;
END_RCPP
}
// Bhorse
Rcpp::List Bhorse(arma::mat xx, arma::vec y, arma::mat W, int maxSteps, arma::vec hatBeta, arma::vec hatAlpha, arma::vec hatlamSq, arma::vec hatnu, arma::mat invSigAlpha0, double hatTauSq, double hatSigmaSq, double hatZeta, double a, double b, int progress);
RcppExport SEXP _pqrBayes_Bhorse(SEXP xxSEXP, SEXP ySEXP, SEXP WSEXP, SEXP maxStepsSEXP, SEXP hatBetaSEXP, SEXP hatAlphaSEXP, SEXP hatlamSqSEXP, SEXP hatnuSEXP, SEXP invSigAlpha0SEXP, SEXP hatTauSqSEXP, SEXP hatSigmaSqSEXP, SEXP hatZetaSEXP, SEXP aSEXP, SEXP bSEXP, SEXP progressSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::mat >::type xx(xxSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type y(ySEXP);
    Rcpp::traits::input_parameter< arma::mat >::type W(WSEXP);
    Rcpp::traits::input_parameter< int >::type maxSteps(maxStepsSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatBeta(hatBetaSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatAlpha(hatAlphaSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatlamSq(hatlamSqSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatnu(hatnuSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type invSigAlpha0(invSigAlpha0SEXP);
    Rcpp::traits::input_parameter< double >::type hatTauSq(hatTauSqSEXP);
    Rcpp::traits::input_parameter< double >::type hatSigmaSq(hatSigmaSqSEXP);
    Rcpp::traits::input_parameter< double >::type hatZeta(hatZetaSEXP);
    Rcpp::traits::input_parameter< double >::type a(aSEXP);
    Rcpp::traits::input_parameter< double >::type b(bSEXP);
    Rcpp::traits::input_parameter< int >::type progress(progressSEXP);
    rcpp_result_gen = Rcpp::wrap(Bhorse(xx, y, W, maxSteps, hatBeta, hatAlpha, hatlamSq, hatnu, invSigAlpha0, hatTauSq, hatSigmaSq, hatZeta, a, b, progress));
    return rcpp_result_gen;
END_RCPP
}
// Bhorse_reg
Rcpp::List Bhorse_reg(arma::mat xx, arma::vec y, arma::mat W, int maxSteps, arma::vec hatBeta, arma::vec hatAlpha, arma::vec hatlamSq, arma::vec hatnu, arma::mat invSigAlpha0, double hatTauSq, double hatcSq, double hatSigmaSq, double hatZeta, double a, double b, double c, double d, int progress);
RcppExport SEXP _pqrBayes_Bhorse_reg(SEXP xxSEXP, SEXP ySEXP, SEXP WSEXP, SEXP maxStepsSEXP, SEXP hatBetaSEXP, SEXP hatAlphaSEXP, SEXP hatlamSqSEXP, SEXP hatnuSEXP, SEXP invSigAlpha0SEXP, SEXP hatTauSqSEXP, SEXP hatcSqSEXP, SEXP hatSigmaSqSEXP, SEXP hatZetaSEXP, SEXP aSEXP, SEXP bSEXP, SEXP cSEXP, SEXP dSEXP, SEXP progressSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< arma::mat >::type xx(xxSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type y(ySEXP);
    Rcpp::traits::input_parameter< arma::mat >::type W(WSEXP);
    Rcpp::traits::input_parameter< int >::type maxSteps(maxStepsSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatBeta(hatBetaSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatAlpha(hatAlphaSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatlamSq(hatlamSqSEXP);
    Rcpp::traits::input_parameter< arma::vec >::type hatnu(hatnuSEXP);
    Rcpp::traits::input_parameter< arma::mat >::type invSigAlpha0(invSigAlpha0SEXP);
    Rcpp::traits::input_parameter< double >::type hatTauSq(hatTauSqSEXP);
    Rcpp::traits::input_parameter< double >::type hatcSq(hatcSqSEXP);
    Rcpp::traits::input_parameter< double >::type hatSigmaSq(hatSigmaSqSEXP);
    Rcpp::traits::input_parameter< double >::type hatZeta(hatZetaSEXP);
    Rcpp::traits::input_parameter< double >::type a(aSEXP);
    Rcpp::traits::input_parameter< double >::type b(bSEXP);
    Rcpp::traits::input_parameter< double >::type c(cSEXP);
    Rcpp::traits::input_parameter< double >::type d(dSEXP);
    Rcpp::traits::input_parameter< int >::type progress(progressSEXP);
    rcpp_result_gen = Rcpp::wrap(Bhorse_reg(xx, y, W, maxSteps, hatBeta, hatAlpha, hatlamSq, hatnu, invSigAlpha0, hatTauSq, hatcSq, hatSigmaSq, hatZeta, a, b, c, d, progress));
    return rcpp_result_gen;
END_RCPP
}

static const R_CallMethodDef CallEntries[] = {
    {"_pqrBayes_BBL", (DL_FUNC) &_pqrBayes_BBL, 16},
    {"_pqrBayes_BBLSS", (DL_FUNC) &_pqrBayes_BBLSS, 19},
    {"_pqrBayes_BGLPointMass", (DL_FUNC) &_pqrBayes_BGLPointMass, 20},
    {"_pqrBayes_BGL", (DL_FUNC) &_pqrBayes_BGL, 17},
    {"_pqrBayes_BL", (DL_FUNC) &_pqrBayes_BL, 15},
    {"_pqrBayes_BLSS", (DL_FUNC) &_pqrBayes_BLSS, 18},
    {"_pqrBayes_BRL", (DL_FUNC) &_pqrBayes_BRL, 17},
    {"_pqrBayes_BRLSS", (DL_FUNC) &_pqrBayes_BRLSS, 20},
    {"_pqrBayes_BRBL", (DL_FUNC) &_pqrBayes_BRBL, 18},
    {"_pqrBayes_BRBLSS", (DL_FUNC) &_pqrBayes_BRBLSS, 21},
    {"_pqrBayes_BRGL_SS", (DL_FUNC) &_pqrBayes_BRGL_SS, 22},
    {"_pqrBayes_BRGL", (DL_FUNC) &_pqrBayes_BRGL, 19},
    {"_pqrBayes_RBhorse_plus", (DL_FUNC) &_pqrBayes_RBhorse_plus, 20},
    {"_pqrBayes_RBhorse", (DL_FUNC) &_pqrBayes_RBhorse, 18},
    {"_pqrBayes_RBhorse_reg", (DL_FUNC) &_pqrBayes_RBhorse_reg, 21},
    {"_pqrBayes_Bhorse_plus", (DL_FUNC) &_pqrBayes_Bhorse_plus, 17},
    {"_pqrBayes_Bhorse", (DL_FUNC) &_pqrBayes_Bhorse, 15},
    {"_pqrBayes_Bhorse_reg", (DL_FUNC) &_pqrBayes_Bhorse_reg, 18},
    {NULL, NULL, 0}
};

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