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

// search_pairs
NumericMatrix search_pairs(IntegerMatrix clusterings);
RcppExport SEXP _clusterExperiment_search_pairs(SEXP clusteringsSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< IntegerMatrix >::type clusterings(clusteringsSEXP);
    rcpp_result_gen = Rcpp::wrap(search_pairs(clusterings));
    return rcpp_result_gen;
END_RCPP
}
// makeHashKey
std::string makeHashKey(int i, int j, std::string delim);
RcppExport SEXP _clusterExperiment_makeHashKey(SEXP iSEXP, SEXP jSEXP, SEXP delimSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< int >::type i(iSEXP);
    Rcpp::traits::input_parameter< int >::type j(jSEXP);
    Rcpp::traits::input_parameter< std::string >::type delim(delimSEXP);
    rcpp_result_gen = Rcpp::wrap(makeHashKey(i, j, delim));
    return rcpp_result_gen;
END_RCPP
}
// splitHashKey
Rcpp::IntegerVector splitHashKey(std::string s, std::string delim);
RcppExport SEXP _clusterExperiment_splitHashKey(SEXP sSEXP, SEXP delimSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< std::string >::type s(sSEXP);
    Rcpp::traits::input_parameter< std::string >::type delim(delimSEXP);
    rcpp_result_gen = Rcpp::wrap(splitHashKey(s, delim));
    return rcpp_result_gen;
END_RCPP
}
// subsampleLoop
Rcpp::IntegerMatrix subsampleLoop(Rcpp::List clList, int N);
RcppExport SEXP _clusterExperiment_subsampleLoop(SEXP clListSEXP, SEXP NSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< Rcpp::List >::type clList(clListSEXP);
    Rcpp::traits::input_parameter< int >::type N(NSEXP);
    rcpp_result_gen = Rcpp::wrap(subsampleLoop(clList, N));
    return rcpp_result_gen;
END_RCPP
}

static const R_CallMethodDef CallEntries[] = {
    {"_clusterExperiment_search_pairs", (DL_FUNC) &_clusterExperiment_search_pairs, 1},
    {"_clusterExperiment_makeHashKey", (DL_FUNC) &_clusterExperiment_makeHashKey, 3},
    {"_clusterExperiment_splitHashKey", (DL_FUNC) &_clusterExperiment_splitHashKey, 2},
    {"_clusterExperiment_subsampleLoop", (DL_FUNC) &_clusterExperiment_subsampleLoop, 2},
    {NULL, NULL, 0}
};

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