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

#include <Rcpp.h>

using namespace Rcpp;

// compute_grouped_simes
Rcpp::List compute_grouped_simes(Rcpp::NumericVector pvals, Rcpp::IntegerVector runs, Rcpp::RObject weights, bool log);
RcppExport SEXP _metapod_compute_grouped_simes(SEXP pvalsSEXP, SEXP runsSEXP, SEXP weightsSEXP, SEXP logSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::traits::input_parameter< Rcpp::NumericVector >::type pvals(pvalsSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type runs(runsSEXP);
    Rcpp::traits::input_parameter< Rcpp::RObject >::type weights(weightsSEXP);
    Rcpp::traits::input_parameter< bool >::type log(logSEXP);
    rcpp_result_gen = Rcpp::wrap(compute_grouped_simes(pvals, runs, weights, log));
    return rcpp_result_gen;
END_RCPP
}
// compute_grouped_berger
Rcpp::List compute_grouped_berger(Rcpp::NumericVector pvals, Rcpp::IntegerVector runs, Rcpp::RObject weights, bool log);
RcppExport SEXP _metapod_compute_grouped_berger(SEXP pvalsSEXP, SEXP runsSEXP, SEXP weightsSEXP, SEXP logSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::traits::input_parameter< Rcpp::NumericVector >::type pvals(pvalsSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type runs(runsSEXP);
    Rcpp::traits::input_parameter< Rcpp::RObject >::type weights(weightsSEXP);
    Rcpp::traits::input_parameter< bool >::type log(logSEXP);
    rcpp_result_gen = Rcpp::wrap(compute_grouped_berger(pvals, runs, weights, log));
    return rcpp_result_gen;
END_RCPP
}
// compute_grouped_wilkinson
Rcpp::List compute_grouped_wilkinson(Rcpp::NumericVector pvals, Rcpp::IntegerVector runs, Rcpp::RObject weights, bool log, int min_n, double min_prop);
RcppExport SEXP _metapod_compute_grouped_wilkinson(SEXP pvalsSEXP, SEXP runsSEXP, SEXP weightsSEXP, SEXP logSEXP, SEXP min_nSEXP, SEXP min_propSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::traits::input_parameter< Rcpp::NumericVector >::type pvals(pvalsSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type runs(runsSEXP);
    Rcpp::traits::input_parameter< Rcpp::RObject >::type weights(weightsSEXP);
    Rcpp::traits::input_parameter< bool >::type log(logSEXP);
    Rcpp::traits::input_parameter< int >::type min_n(min_nSEXP);
    Rcpp::traits::input_parameter< double >::type min_prop(min_propSEXP);
    rcpp_result_gen = Rcpp::wrap(compute_grouped_wilkinson(pvals, runs, weights, log, min_n, min_prop));
    return rcpp_result_gen;
END_RCPP
}
// compute_grouped_holm_min
Rcpp::List compute_grouped_holm_min(Rcpp::NumericVector pvals, Rcpp::IntegerVector runs, Rcpp::RObject weights, bool log, int min_n, double min_prop);
RcppExport SEXP _metapod_compute_grouped_holm_min(SEXP pvalsSEXP, SEXP runsSEXP, SEXP weightsSEXP, SEXP logSEXP, SEXP min_nSEXP, SEXP min_propSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::traits::input_parameter< Rcpp::NumericVector >::type pvals(pvalsSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type runs(runsSEXP);
    Rcpp::traits::input_parameter< Rcpp::RObject >::type weights(weightsSEXP);
    Rcpp::traits::input_parameter< bool >::type log(logSEXP);
    Rcpp::traits::input_parameter< int >::type min_n(min_nSEXP);
    Rcpp::traits::input_parameter< double >::type min_prop(min_propSEXP);
    rcpp_result_gen = Rcpp::wrap(compute_grouped_holm_min(pvals, runs, weights, log, min_n, min_prop));
    return rcpp_result_gen;
END_RCPP
}
// compute_grouped_stouffer
Rcpp::List compute_grouped_stouffer(Rcpp::NumericVector pvals, Rcpp::IntegerVector runs, Rcpp::RObject weights, bool log);
RcppExport SEXP _metapod_compute_grouped_stouffer(SEXP pvalsSEXP, SEXP runsSEXP, SEXP weightsSEXP, SEXP logSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::traits::input_parameter< Rcpp::NumericVector >::type pvals(pvalsSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type runs(runsSEXP);
    Rcpp::traits::input_parameter< Rcpp::RObject >::type weights(weightsSEXP);
    Rcpp::traits::input_parameter< bool >::type log(logSEXP);
    rcpp_result_gen = Rcpp::wrap(compute_grouped_stouffer(pvals, runs, weights, log));
    return rcpp_result_gen;
END_RCPP
}
// compute_grouped_fisher
Rcpp::List compute_grouped_fisher(Rcpp::NumericVector pvals, Rcpp::IntegerVector runs, Rcpp::RObject weights, bool log);
RcppExport SEXP _metapod_compute_grouped_fisher(SEXP pvalsSEXP, SEXP runsSEXP, SEXP weightsSEXP, SEXP logSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::traits::input_parameter< Rcpp::NumericVector >::type pvals(pvalsSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type runs(runsSEXP);
    Rcpp::traits::input_parameter< Rcpp::RObject >::type weights(weightsSEXP);
    Rcpp::traits::input_parameter< bool >::type log(logSEXP);
    rcpp_result_gen = Rcpp::wrap(compute_grouped_fisher(pvals, runs, weights, log));
    return rcpp_result_gen;
END_RCPP
}
// compute_grouped_pearson
Rcpp::List compute_grouped_pearson(Rcpp::NumericVector pvals, Rcpp::IntegerVector runs, Rcpp::RObject weights, bool log);
RcppExport SEXP _metapod_compute_grouped_pearson(SEXP pvalsSEXP, SEXP runsSEXP, SEXP weightsSEXP, SEXP logSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::traits::input_parameter< Rcpp::NumericVector >::type pvals(pvalsSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type runs(runsSEXP);
    Rcpp::traits::input_parameter< Rcpp::RObject >::type weights(weightsSEXP);
    Rcpp::traits::input_parameter< bool >::type log(logSEXP);
    rcpp_result_gen = Rcpp::wrap(compute_grouped_pearson(pvals, runs, weights, log));
    return rcpp_result_gen;
END_RCPP
}
// compute_parallel_simes
Rcpp::List compute_parallel_simes(Rcpp::List pvals, Rcpp::RObject weights, bool log);
RcppExport SEXP _metapod_compute_parallel_simes(SEXP pvalsSEXP, SEXP weightsSEXP, SEXP logSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::traits::input_parameter< Rcpp::List >::type pvals(pvalsSEXP);
    Rcpp::traits::input_parameter< Rcpp::RObject >::type weights(weightsSEXP);
    Rcpp::traits::input_parameter< bool >::type log(logSEXP);
    rcpp_result_gen = Rcpp::wrap(compute_parallel_simes(pvals, weights, log));
    return rcpp_result_gen;
END_RCPP
}
// compute_parallel_berger
Rcpp::List compute_parallel_berger(Rcpp::List pvals, Rcpp::RObject weights, bool log);
RcppExport SEXP _metapod_compute_parallel_berger(SEXP pvalsSEXP, SEXP weightsSEXP, SEXP logSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::traits::input_parameter< Rcpp::List >::type pvals(pvalsSEXP);
    Rcpp::traits::input_parameter< Rcpp::RObject >::type weights(weightsSEXP);
    Rcpp::traits::input_parameter< bool >::type log(logSEXP);
    rcpp_result_gen = Rcpp::wrap(compute_parallel_berger(pvals, weights, log));
    return rcpp_result_gen;
END_RCPP
}
// compute_parallel_wilkinson
Rcpp::List compute_parallel_wilkinson(Rcpp::List pvals, Rcpp::RObject weights, bool log, int min_n, double min_prop);
RcppExport SEXP _metapod_compute_parallel_wilkinson(SEXP pvalsSEXP, SEXP weightsSEXP, SEXP logSEXP, SEXP min_nSEXP, SEXP min_propSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::traits::input_parameter< Rcpp::List >::type pvals(pvalsSEXP);
    Rcpp::traits::input_parameter< Rcpp::RObject >::type weights(weightsSEXP);
    Rcpp::traits::input_parameter< bool >::type log(logSEXP);
    Rcpp::traits::input_parameter< int >::type min_n(min_nSEXP);
    Rcpp::traits::input_parameter< double >::type min_prop(min_propSEXP);
    rcpp_result_gen = Rcpp::wrap(compute_parallel_wilkinson(pvals, weights, log, min_n, min_prop));
    return rcpp_result_gen;
END_RCPP
}
// compute_parallel_holm_min
Rcpp::List compute_parallel_holm_min(Rcpp::List pvals, Rcpp::RObject weights, bool log, int min_n, double min_prop);
RcppExport SEXP _metapod_compute_parallel_holm_min(SEXP pvalsSEXP, SEXP weightsSEXP, SEXP logSEXP, SEXP min_nSEXP, SEXP min_propSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::traits::input_parameter< Rcpp::List >::type pvals(pvalsSEXP);
    Rcpp::traits::input_parameter< Rcpp::RObject >::type weights(weightsSEXP);
    Rcpp::traits::input_parameter< bool >::type log(logSEXP);
    Rcpp::traits::input_parameter< int >::type min_n(min_nSEXP);
    Rcpp::traits::input_parameter< double >::type min_prop(min_propSEXP);
    rcpp_result_gen = Rcpp::wrap(compute_parallel_holm_min(pvals, weights, log, min_n, min_prop));
    return rcpp_result_gen;
END_RCPP
}
// compute_parallel_stouffer
Rcpp::List compute_parallel_stouffer(Rcpp::List pvals, Rcpp::RObject weights, bool log);
RcppExport SEXP _metapod_compute_parallel_stouffer(SEXP pvalsSEXP, SEXP weightsSEXP, SEXP logSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::traits::input_parameter< Rcpp::List >::type pvals(pvalsSEXP);
    Rcpp::traits::input_parameter< Rcpp::RObject >::type weights(weightsSEXP);
    Rcpp::traits::input_parameter< bool >::type log(logSEXP);
    rcpp_result_gen = Rcpp::wrap(compute_parallel_stouffer(pvals, weights, log));
    return rcpp_result_gen;
END_RCPP
}
// compute_parallel_fisher
Rcpp::List compute_parallel_fisher(Rcpp::List pvals, Rcpp::RObject weights, bool log);
RcppExport SEXP _metapod_compute_parallel_fisher(SEXP pvalsSEXP, SEXP weightsSEXP, SEXP logSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::traits::input_parameter< Rcpp::List >::type pvals(pvalsSEXP);
    Rcpp::traits::input_parameter< Rcpp::RObject >::type weights(weightsSEXP);
    Rcpp::traits::input_parameter< bool >::type log(logSEXP);
    rcpp_result_gen = Rcpp::wrap(compute_parallel_fisher(pvals, weights, log));
    return rcpp_result_gen;
END_RCPP
}
// compute_parallel_pearson
Rcpp::List compute_parallel_pearson(Rcpp::List pvals, Rcpp::RObject weights, bool log);
RcppExport SEXP _metapod_compute_parallel_pearson(SEXP pvalsSEXP, SEXP weightsSEXP, SEXP logSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::traits::input_parameter< Rcpp::List >::type pvals(pvalsSEXP);
    Rcpp::traits::input_parameter< Rcpp::RObject >::type weights(weightsSEXP);
    Rcpp::traits::input_parameter< bool >::type log(logSEXP);
    rcpp_result_gen = Rcpp::wrap(compute_parallel_pearson(pvals, weights, log));
    return rcpp_result_gen;
END_RCPP
}
// count_parallel_direction
Rcpp::List count_parallel_direction(Rcpp::List pvalues, Rcpp::List effects, int method, double pthreshold, double ethreshold, bool log);
RcppExport SEXP _metapod_count_parallel_direction(SEXP pvaluesSEXP, SEXP effectsSEXP, SEXP methodSEXP, SEXP pthresholdSEXP, SEXP ethresholdSEXP, SEXP logSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::traits::input_parameter< Rcpp::List >::type pvalues(pvaluesSEXP);
    Rcpp::traits::input_parameter< Rcpp::List >::type effects(effectsSEXP);
    Rcpp::traits::input_parameter< int >::type method(methodSEXP);
    Rcpp::traits::input_parameter< double >::type pthreshold(pthresholdSEXP);
    Rcpp::traits::input_parameter< double >::type ethreshold(ethresholdSEXP);
    Rcpp::traits::input_parameter< bool >::type log(logSEXP);
    rcpp_result_gen = Rcpp::wrap(count_parallel_direction(pvalues, effects, method, pthreshold, ethreshold, log));
    return rcpp_result_gen;
END_RCPP
}
// count_grouped_direction
Rcpp::List count_grouped_direction(Rcpp::NumericVector pvalues, Rcpp::IntegerVector runs, Rcpp::NumericVector effects, int method, double pthreshold, double ethreshold, bool log);
RcppExport SEXP _metapod_count_grouped_direction(SEXP pvaluesSEXP, SEXP runsSEXP, SEXP effectsSEXP, SEXP methodSEXP, SEXP pthresholdSEXP, SEXP ethresholdSEXP, SEXP logSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::traits::input_parameter< Rcpp::NumericVector >::type pvalues(pvaluesSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type runs(runsSEXP);
    Rcpp::traits::input_parameter< Rcpp::NumericVector >::type effects(effectsSEXP);
    Rcpp::traits::input_parameter< int >::type method(methodSEXP);
    Rcpp::traits::input_parameter< double >::type pthreshold(pthresholdSEXP);
    Rcpp::traits::input_parameter< double >::type ethreshold(ethresholdSEXP);
    Rcpp::traits::input_parameter< bool >::type log(logSEXP);
    rcpp_result_gen = Rcpp::wrap(count_grouped_direction(pvalues, runs, effects, method, pthreshold, ethreshold, log));
    return rcpp_result_gen;
END_RCPP
}
// summarize_parallel_direction
Rcpp::IntegerVector summarize_parallel_direction(Rcpp::List effects, Rcpp::List influential, double threshold);
RcppExport SEXP _metapod_summarize_parallel_direction(SEXP effectsSEXP, SEXP influentialSEXP, SEXP thresholdSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::traits::input_parameter< Rcpp::List >::type effects(effectsSEXP);
    Rcpp::traits::input_parameter< Rcpp::List >::type influential(influentialSEXP);
    Rcpp::traits::input_parameter< double >::type threshold(thresholdSEXP);
    rcpp_result_gen = Rcpp::wrap(summarize_parallel_direction(effects, influential, threshold));
    return rcpp_result_gen;
END_RCPP
}
// summarize_grouped_direction
Rcpp::IntegerVector summarize_grouped_direction(Rcpp::NumericVector effects, Rcpp::IntegerVector runs, Rcpp::LogicalVector influential, double threshold);
RcppExport SEXP _metapod_summarize_grouped_direction(SEXP effectsSEXP, SEXP runsSEXP, SEXP influentialSEXP, SEXP thresholdSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::traits::input_parameter< Rcpp::NumericVector >::type effects(effectsSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type runs(runsSEXP);
    Rcpp::traits::input_parameter< Rcpp::LogicalVector >::type influential(influentialSEXP);
    Rcpp::traits::input_parameter< double >::type threshold(thresholdSEXP);
    rcpp_result_gen = Rcpp::wrap(summarize_grouped_direction(effects, runs, influential, threshold));
    return rcpp_result_gen;
END_RCPP
}

static const R_CallMethodDef CallEntries[] = {
    {"_metapod_compute_grouped_simes", (DL_FUNC) &_metapod_compute_grouped_simes, 4},
    {"_metapod_compute_grouped_berger", (DL_FUNC) &_metapod_compute_grouped_berger, 4},
    {"_metapod_compute_grouped_wilkinson", (DL_FUNC) &_metapod_compute_grouped_wilkinson, 6},
    {"_metapod_compute_grouped_holm_min", (DL_FUNC) &_metapod_compute_grouped_holm_min, 6},
    {"_metapod_compute_grouped_stouffer", (DL_FUNC) &_metapod_compute_grouped_stouffer, 4},
    {"_metapod_compute_grouped_fisher", (DL_FUNC) &_metapod_compute_grouped_fisher, 4},
    {"_metapod_compute_grouped_pearson", (DL_FUNC) &_metapod_compute_grouped_pearson, 4},
    {"_metapod_compute_parallel_simes", (DL_FUNC) &_metapod_compute_parallel_simes, 3},
    {"_metapod_compute_parallel_berger", (DL_FUNC) &_metapod_compute_parallel_berger, 3},
    {"_metapod_compute_parallel_wilkinson", (DL_FUNC) &_metapod_compute_parallel_wilkinson, 5},
    {"_metapod_compute_parallel_holm_min", (DL_FUNC) &_metapod_compute_parallel_holm_min, 5},
    {"_metapod_compute_parallel_stouffer", (DL_FUNC) &_metapod_compute_parallel_stouffer, 3},
    {"_metapod_compute_parallel_fisher", (DL_FUNC) &_metapod_compute_parallel_fisher, 3},
    {"_metapod_compute_parallel_pearson", (DL_FUNC) &_metapod_compute_parallel_pearson, 3},
    {"_metapod_count_parallel_direction", (DL_FUNC) &_metapod_count_parallel_direction, 6},
    {"_metapod_count_grouped_direction", (DL_FUNC) &_metapod_count_grouped_direction, 7},
    {"_metapod_summarize_parallel_direction", (DL_FUNC) &_metapod_summarize_parallel_direction, 3},
    {"_metapod_summarize_grouped_direction", (DL_FUNC) &_metapod_summarize_grouped_direction, 4},
    {NULL, NULL, 0}
};

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