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

#include <Rcpp.h>

using namespace Rcpp;

#ifdef RCPP_USE_GLOBAL_ROSTREAM
Rcpp::Rostream<true>&  Rcpp::Rcout = Rcpp::Rcpp_cout_get();
Rcpp::Rostream<false>& Rcpp::Rcerr = Rcpp::Rcpp_cerr_get();
#endif

// mann_whitney_probs_int
List mann_whitney_probs_int(const IntegerVector m, const IntegerVector n);
RcppExport SEXP _DiscreteTests_mann_whitney_probs_int(SEXP mSEXP, SEXP nSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const IntegerVector >::type m(mSEXP);
    Rcpp::traits::input_parameter< const IntegerVector >::type n(nSEXP);
    rcpp_result_gen = Rcpp::wrap(mann_whitney_probs_int(m, n));
    return rcpp_result_gen;
END_RCPP
}
// mann_whitney_probs_ties_int
NumericVector mann_whitney_probs_ties_int(const IntegerVector ranks, const uint32_t size_x);
RcppExport SEXP _DiscreteTests_mann_whitney_probs_ties_int(SEXP ranksSEXP, SEXP size_xSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const IntegerVector >::type ranks(ranksSEXP);
    Rcpp::traits::input_parameter< const uint32_t >::type size_x(size_xSEXP);
    rcpp_result_gen = Rcpp::wrap(mann_whitney_probs_ties_int(ranks, size_x));
    return rcpp_result_gen;
END_RCPP
}
// perm_test_run
List perm_test_run(const NumericVector x, const NumericVector y, const double mu, const std::string method, const bool exact, const int sims);
RcppExport SEXP _DiscreteTests_perm_test_run(SEXP xSEXP, SEXP ySEXP, SEXP muSEXP, SEXP methodSEXP, SEXP exactSEXP, SEXP simsSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const NumericVector >::type x(xSEXP);
    Rcpp::traits::input_parameter< const NumericVector >::type y(ySEXP);
    Rcpp::traits::input_parameter< const double >::type mu(muSEXP);
    Rcpp::traits::input_parameter< const std::string >::type method(methodSEXP);
    Rcpp::traits::input_parameter< const bool >::type exact(exactSEXP);
    Rcpp::traits::input_parameter< const int >::type sims(simsSEXP);
    rcpp_result_gen = Rcpp::wrap(perm_test_run(x, y, mu, method, exact, sims));
    return rcpp_result_gen;
END_RCPP
}
// sign_rank_probs_int
List sign_rank_probs_int(const NumericVector n);
RcppExport SEXP _DiscreteTests_sign_rank_probs_int(SEXP nSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const NumericVector >::type n(nSEXP);
    rcpp_result_gen = Rcpp::wrap(sign_rank_probs_int(n));
    return rcpp_result_gen;
END_RCPP
}
// sign_rank_probs_ties_int
NumericVector sign_rank_probs_ties_int(const IntegerVector scores);
RcppExport SEXP _DiscreteTests_sign_rank_probs_ties_int(SEXP scoresSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const IntegerVector >::type scores(scoresSEXP);
    rcpp_result_gen = Rcpp::wrap(sign_rank_probs_ties_int(scores));
    return rcpp_result_gen;
END_RCPP
}

static const R_CallMethodDef CallEntries[] = {
    {"_DiscreteTests_mann_whitney_probs_int", (DL_FUNC) &_DiscreteTests_mann_whitney_probs_int, 2},
    {"_DiscreteTests_mann_whitney_probs_ties_int", (DL_FUNC) &_DiscreteTests_mann_whitney_probs_ties_int, 2},
    {"_DiscreteTests_perm_test_run", (DL_FUNC) &_DiscreteTests_perm_test_run, 6},
    {"_DiscreteTests_sign_rank_probs_int", (DL_FUNC) &_DiscreteTests_sign_rank_probs_int, 1},
    {"_DiscreteTests_sign_rank_probs_ties_int", (DL_FUNC) &_DiscreteTests_sign_rank_probs_ties_int, 1},
    {NULL, NULL, 0}
};

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