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

// build_adjacency
List build_adjacency(IntegerVector senders, IntegerVector receivers);
RcppExport SEXP _llrem_build_adjacency(SEXP sendersSEXP, SEXP receiversSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< IntegerVector >::type senders(sendersSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type receivers(receiversSEXP);
    rcpp_result_gen = Rcpp::wrap(build_adjacency(senders, receivers));
    return rcpp_result_gen;
END_RCPP
}
// triadic_counts
IntegerMatrix triadic_counts(List adj, IntegerVector rs_senders, IntegerVector rs_receivers);
RcppExport SEXP _llrem_triadic_counts(SEXP adjSEXP, SEXP rs_sendersSEXP, SEXP rs_receiversSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< List >::type adj(adjSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type rs_senders(rs_sendersSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type rs_receivers(rs_receiversSEXP);
    rcpp_result_gen = Rcpp::wrap(triadic_counts(adj, rs_senders, rs_receivers));
    return rcpp_result_gen;
END_RCPP
}

static const R_CallMethodDef CallEntries[] = {
    {"_llrem_build_adjacency", (DL_FUNC) &_llrem_build_adjacency, 2},
    {"_llrem_triadic_counts", (DL_FUNC) &_llrem_triadic_counts, 3},
    {NULL, NULL, 0}
};

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