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

#include "../inst/include/remstats.h"
#include <RcppArmadillo.h>
#include <Rcpp.h>
#include <string>
#include <set>

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

// compute_stats_sender
arma::cube compute_stats_sender(Rcpp::CharacterVector& effects, const arma::mat& edgelist, const arma::vec& actors, const arma::vec& weights, const Rcpp::List& covariates, const Rcpp::List& interactions, Rcpp::String memory, const arma::vec memory_value, Rcpp::CharacterVector& scaling, int start, int stop, Rcpp::String method, bool display_progress);
static SEXP _remstats_compute_stats_sender_try(SEXP effectsSEXP, SEXP edgelistSEXP, SEXP actorsSEXP, SEXP weightsSEXP, SEXP covariatesSEXP, SEXP interactionsSEXP, SEXP memorySEXP, SEXP memory_valueSEXP, SEXP scalingSEXP, SEXP startSEXP, SEXP stopSEXP, SEXP methodSEXP, SEXP display_progressSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::traits::input_parameter< Rcpp::CharacterVector& >::type effects(effectsSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type edgelist(edgelistSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type actors(actorsSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type weights(weightsSEXP);
    Rcpp::traits::input_parameter< const Rcpp::List& >::type covariates(covariatesSEXP);
    Rcpp::traits::input_parameter< const Rcpp::List& >::type interactions(interactionsSEXP);
    Rcpp::traits::input_parameter< Rcpp::String >::type memory(memorySEXP);
    Rcpp::traits::input_parameter< const arma::vec >::type memory_value(memory_valueSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector& >::type scaling(scalingSEXP);
    Rcpp::traits::input_parameter< int >::type start(startSEXP);
    Rcpp::traits::input_parameter< int >::type stop(stopSEXP);
    Rcpp::traits::input_parameter< Rcpp::String >::type method(methodSEXP);
    Rcpp::traits::input_parameter< bool >::type display_progress(display_progressSEXP);
    rcpp_result_gen = Rcpp::wrap(compute_stats_sender(effects, edgelist, actors, weights, covariates, interactions, memory, memory_value, scaling, start, stop, method, display_progress));
    return rcpp_result_gen;
END_RCPP_RETURN_ERROR
}
RcppExport SEXP _remstats_compute_stats_sender(SEXP effectsSEXP, SEXP edgelistSEXP, SEXP actorsSEXP, SEXP weightsSEXP, SEXP covariatesSEXP, SEXP interactionsSEXP, SEXP memorySEXP, SEXP memory_valueSEXP, SEXP scalingSEXP, SEXP startSEXP, SEXP stopSEXP, SEXP methodSEXP, SEXP display_progressSEXP) {
    SEXP rcpp_result_gen;
    {
        Rcpp::RNGScope rcpp_rngScope_gen;
        rcpp_result_gen = PROTECT(_remstats_compute_stats_sender_try(effectsSEXP, edgelistSEXP, actorsSEXP, weightsSEXP, covariatesSEXP, interactionsSEXP, memorySEXP, memory_valueSEXP, scalingSEXP, startSEXP, stopSEXP, methodSEXP, display_progressSEXP));
    }
    Rboolean rcpp_isInterrupt_gen = Rf_inherits(rcpp_result_gen, "interrupted-error");
    if (rcpp_isInterrupt_gen) {
        UNPROTECT(1);
        Rf_onintr();
    }
    bool rcpp_isLongjump_gen = Rcpp::internal::isLongjumpSentinel(rcpp_result_gen);
    if (rcpp_isLongjump_gen) {
        Rcpp::internal::resumeJump(rcpp_result_gen);
    }
    Rboolean rcpp_isError_gen = Rf_inherits(rcpp_result_gen, "try-error");
    if (rcpp_isError_gen) {
        SEXP rcpp_msgSEXP_gen = Rf_asChar(rcpp_result_gen);
        UNPROTECT(1);
        (Rf_error)("%s", CHAR(rcpp_msgSEXP_gen));
    }
    UNPROTECT(1);
    return rcpp_result_gen;
}
// compute_stats_receiver
arma::cube compute_stats_receiver(Rcpp::CharacterVector& effects, const arma::mat& edgelist, const arma::vec& actors, const arma::vec& weights, const Rcpp::List& covariates, const Rcpp::List& interactions, Rcpp::String memory, const arma::vec memory_value, Rcpp::CharacterVector& scaling, int start, int stop, Rcpp::String method, bool display_progress);
static SEXP _remstats_compute_stats_receiver_try(SEXP effectsSEXP, SEXP edgelistSEXP, SEXP actorsSEXP, SEXP weightsSEXP, SEXP covariatesSEXP, SEXP interactionsSEXP, SEXP memorySEXP, SEXP memory_valueSEXP, SEXP scalingSEXP, SEXP startSEXP, SEXP stopSEXP, SEXP methodSEXP, SEXP display_progressSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::traits::input_parameter< Rcpp::CharacterVector& >::type effects(effectsSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type edgelist(edgelistSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type actors(actorsSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type weights(weightsSEXP);
    Rcpp::traits::input_parameter< const Rcpp::List& >::type covariates(covariatesSEXP);
    Rcpp::traits::input_parameter< const Rcpp::List& >::type interactions(interactionsSEXP);
    Rcpp::traits::input_parameter< Rcpp::String >::type memory(memorySEXP);
    Rcpp::traits::input_parameter< const arma::vec >::type memory_value(memory_valueSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector& >::type scaling(scalingSEXP);
    Rcpp::traits::input_parameter< int >::type start(startSEXP);
    Rcpp::traits::input_parameter< int >::type stop(stopSEXP);
    Rcpp::traits::input_parameter< Rcpp::String >::type method(methodSEXP);
    Rcpp::traits::input_parameter< bool >::type display_progress(display_progressSEXP);
    rcpp_result_gen = Rcpp::wrap(compute_stats_receiver(effects, edgelist, actors, weights, covariates, interactions, memory, memory_value, scaling, start, stop, method, display_progress));
    return rcpp_result_gen;
END_RCPP_RETURN_ERROR
}
RcppExport SEXP _remstats_compute_stats_receiver(SEXP effectsSEXP, SEXP edgelistSEXP, SEXP actorsSEXP, SEXP weightsSEXP, SEXP covariatesSEXP, SEXP interactionsSEXP, SEXP memorySEXP, SEXP memory_valueSEXP, SEXP scalingSEXP, SEXP startSEXP, SEXP stopSEXP, SEXP methodSEXP, SEXP display_progressSEXP) {
    SEXP rcpp_result_gen;
    {
        Rcpp::RNGScope rcpp_rngScope_gen;
        rcpp_result_gen = PROTECT(_remstats_compute_stats_receiver_try(effectsSEXP, edgelistSEXP, actorsSEXP, weightsSEXP, covariatesSEXP, interactionsSEXP, memorySEXP, memory_valueSEXP, scalingSEXP, startSEXP, stopSEXP, methodSEXP, display_progressSEXP));
    }
    Rboolean rcpp_isInterrupt_gen = Rf_inherits(rcpp_result_gen, "interrupted-error");
    if (rcpp_isInterrupt_gen) {
        UNPROTECT(1);
        Rf_onintr();
    }
    bool rcpp_isLongjump_gen = Rcpp::internal::isLongjumpSentinel(rcpp_result_gen);
    if (rcpp_isLongjump_gen) {
        Rcpp::internal::resumeJump(rcpp_result_gen);
    }
    Rboolean rcpp_isError_gen = Rf_inherits(rcpp_result_gen, "try-error");
    if (rcpp_isError_gen) {
        SEXP rcpp_msgSEXP_gen = Rf_asChar(rcpp_result_gen);
        UNPROTECT(1);
        (Rf_error)("%s", CHAR(rcpp_msgSEXP_gen));
    }
    UNPROTECT(1);
    return rcpp_result_gen;
}
// get_riskset
arma::mat get_riskset(arma::uvec actorID, arma::uvec typeID, bool directed);
static SEXP _remstats_get_riskset_try(SEXP actorIDSEXP, SEXP typeIDSEXP, SEXP directedSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::traits::input_parameter< arma::uvec >::type actorID(actorIDSEXP);
    Rcpp::traits::input_parameter< arma::uvec >::type typeID(typeIDSEXP);
    Rcpp::traits::input_parameter< bool >::type directed(directedSEXP);
    rcpp_result_gen = Rcpp::wrap(get_riskset(actorID, typeID, directed));
    return rcpp_result_gen;
END_RCPP_RETURN_ERROR
}
RcppExport SEXP _remstats_get_riskset(SEXP actorIDSEXP, SEXP typeIDSEXP, SEXP directedSEXP) {
    SEXP rcpp_result_gen;
    {
        Rcpp::RNGScope rcpp_rngScope_gen;
        rcpp_result_gen = PROTECT(_remstats_get_riskset_try(actorIDSEXP, typeIDSEXP, directedSEXP));
    }
    Rboolean rcpp_isInterrupt_gen = Rf_inherits(rcpp_result_gen, "interrupted-error");
    if (rcpp_isInterrupt_gen) {
        UNPROTECT(1);
        Rf_onintr();
    }
    bool rcpp_isLongjump_gen = Rcpp::internal::isLongjumpSentinel(rcpp_result_gen);
    if (rcpp_isLongjump_gen) {
        Rcpp::internal::resumeJump(rcpp_result_gen);
    }
    Rboolean rcpp_isError_gen = Rf_inherits(rcpp_result_gen, "try-error");
    if (rcpp_isError_gen) {
        SEXP rcpp_msgSEXP_gen = Rf_asChar(rcpp_result_gen);
        UNPROTECT(1);
        (Rf_error)("%s", CHAR(rcpp_msgSEXP_gen));
    }
    UNPROTECT(1);
    return rcpp_result_gen;
}
// convert_to_risksetMatrix
arma::mat convert_to_risksetMatrix(arma::mat riskset, int N, int C);
static SEXP _remstats_convert_to_risksetMatrix_try(SEXP risksetSEXP, SEXP NSEXP, SEXP CSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::traits::input_parameter< arma::mat >::type riskset(risksetSEXP);
    Rcpp::traits::input_parameter< int >::type N(NSEXP);
    Rcpp::traits::input_parameter< int >::type C(CSEXP);
    rcpp_result_gen = Rcpp::wrap(convert_to_risksetMatrix(riskset, N, C));
    return rcpp_result_gen;
END_RCPP_RETURN_ERROR
}
RcppExport SEXP _remstats_convert_to_risksetMatrix(SEXP risksetSEXP, SEXP NSEXP, SEXP CSEXP) {
    SEXP rcpp_result_gen;
    {
        Rcpp::RNGScope rcpp_rngScope_gen;
        rcpp_result_gen = PROTECT(_remstats_convert_to_risksetMatrix_try(risksetSEXP, NSEXP, CSEXP));
    }
    Rboolean rcpp_isInterrupt_gen = Rf_inherits(rcpp_result_gen, "interrupted-error");
    if (rcpp_isInterrupt_gen) {
        UNPROTECT(1);
        Rf_onintr();
    }
    bool rcpp_isLongjump_gen = Rcpp::internal::isLongjumpSentinel(rcpp_result_gen);
    if (rcpp_isLongjump_gen) {
        Rcpp::internal::resumeJump(rcpp_result_gen);
    }
    Rboolean rcpp_isError_gen = Rf_inherits(rcpp_result_gen, "try-error");
    if (rcpp_isError_gen) {
        SEXP rcpp_msgSEXP_gen = Rf_asChar(rcpp_result_gen);
        UNPROTECT(1);
        (Rf_error)("%s", CHAR(rcpp_msgSEXP_gen));
    }
    UNPROTECT(1);
    return rcpp_result_gen;
}
// calculate_inertia
arma::mat calculate_inertia(const arma::mat& edgelist, const arma::vec& weights, const arma::mat& risksetMatrix, Rcpp::String memory, const arma::vec& memory_value, int start, int stop, bool display_progress, Rcpp::String method);
static SEXP _remstats_calculate_inertia_try(SEXP edgelistSEXP, SEXP weightsSEXP, SEXP risksetMatrixSEXP, SEXP memorySEXP, SEXP memory_valueSEXP, SEXP startSEXP, SEXP stopSEXP, SEXP display_progressSEXP, SEXP methodSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::traits::input_parameter< const arma::mat& >::type edgelist(edgelistSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type weights(weightsSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type risksetMatrix(risksetMatrixSEXP);
    Rcpp::traits::input_parameter< Rcpp::String >::type memory(memorySEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type memory_value(memory_valueSEXP);
    Rcpp::traits::input_parameter< int >::type start(startSEXP);
    Rcpp::traits::input_parameter< int >::type stop(stopSEXP);
    Rcpp::traits::input_parameter< bool >::type display_progress(display_progressSEXP);
    Rcpp::traits::input_parameter< Rcpp::String >::type method(methodSEXP);
    rcpp_result_gen = Rcpp::wrap(calculate_inertia(edgelist, weights, risksetMatrix, memory, memory_value, start, stop, display_progress, method));
    return rcpp_result_gen;
END_RCPP_RETURN_ERROR
}
RcppExport SEXP _remstats_calculate_inertia(SEXP edgelistSEXP, SEXP weightsSEXP, SEXP risksetMatrixSEXP, SEXP memorySEXP, SEXP memory_valueSEXP, SEXP startSEXP, SEXP stopSEXP, SEXP display_progressSEXP, SEXP methodSEXP) {
    SEXP rcpp_result_gen;
    {
        Rcpp::RNGScope rcpp_rngScope_gen;
        rcpp_result_gen = PROTECT(_remstats_calculate_inertia_try(edgelistSEXP, weightsSEXP, risksetMatrixSEXP, memorySEXP, memory_valueSEXP, startSEXP, stopSEXP, display_progressSEXP, methodSEXP));
    }
    Rboolean rcpp_isInterrupt_gen = Rf_inherits(rcpp_result_gen, "interrupted-error");
    if (rcpp_isInterrupt_gen) {
        UNPROTECT(1);
        Rf_onintr();
    }
    bool rcpp_isLongjump_gen = Rcpp::internal::isLongjumpSentinel(rcpp_result_gen);
    if (rcpp_isLongjump_gen) {
        Rcpp::internal::resumeJump(rcpp_result_gen);
    }
    Rboolean rcpp_isError_gen = Rf_inherits(rcpp_result_gen, "try-error");
    if (rcpp_isError_gen) {
        SEXP rcpp_msgSEXP_gen = Rf_asChar(rcpp_result_gen);
        UNPROTECT(1);
        (Rf_error)("%s", CHAR(rcpp_msgSEXP_gen));
    }
    UNPROTECT(1);
    return rcpp_result_gen;
}
// compute_stats_tie
arma::cube compute_stats_tie(Rcpp::CharacterVector effects, const arma::mat& edgelist, const arma::mat& riskset, const arma::mat& risksetMatrix, const arma::mat& inertia, const Rcpp::List& covariates, const Rcpp::List& interactions, Rcpp::String memory, const arma::vec& memory_value, Rcpp::CharacterVector& scaling, Rcpp::LogicalVector& consider_type, int start, int stop, bool directed, bool display_progress, Rcpp::String method);
static SEXP _remstats_compute_stats_tie_try(SEXP effectsSEXP, SEXP edgelistSEXP, SEXP risksetSEXP, SEXP risksetMatrixSEXP, SEXP inertiaSEXP, SEXP covariatesSEXP, SEXP interactionsSEXP, SEXP memorySEXP, SEXP memory_valueSEXP, SEXP scalingSEXP, SEXP consider_typeSEXP, SEXP startSEXP, SEXP stopSEXP, SEXP directedSEXP, SEXP display_progressSEXP, SEXP methodSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type effects(effectsSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type edgelist(edgelistSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type riskset(risksetSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type risksetMatrix(risksetMatrixSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type inertia(inertiaSEXP);
    Rcpp::traits::input_parameter< const Rcpp::List& >::type covariates(covariatesSEXP);
    Rcpp::traits::input_parameter< const Rcpp::List& >::type interactions(interactionsSEXP);
    Rcpp::traits::input_parameter< Rcpp::String >::type memory(memorySEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type memory_value(memory_valueSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector& >::type scaling(scalingSEXP);
    Rcpp::traits::input_parameter< Rcpp::LogicalVector& >::type consider_type(consider_typeSEXP);
    Rcpp::traits::input_parameter< int >::type start(startSEXP);
    Rcpp::traits::input_parameter< int >::type stop(stopSEXP);
    Rcpp::traits::input_parameter< bool >::type directed(directedSEXP);
    Rcpp::traits::input_parameter< bool >::type display_progress(display_progressSEXP);
    Rcpp::traits::input_parameter< Rcpp::String >::type method(methodSEXP);
    rcpp_result_gen = Rcpp::wrap(compute_stats_tie(effects, edgelist, riskset, risksetMatrix, inertia, covariates, interactions, memory, memory_value, scaling, consider_type, start, stop, directed, display_progress, method));
    return rcpp_result_gen;
END_RCPP_RETURN_ERROR
}
RcppExport SEXP _remstats_compute_stats_tie(SEXP effectsSEXP, SEXP edgelistSEXP, SEXP risksetSEXP, SEXP risksetMatrixSEXP, SEXP inertiaSEXP, SEXP covariatesSEXP, SEXP interactionsSEXP, SEXP memorySEXP, SEXP memory_valueSEXP, SEXP scalingSEXP, SEXP consider_typeSEXP, SEXP startSEXP, SEXP stopSEXP, SEXP directedSEXP, SEXP display_progressSEXP, SEXP methodSEXP) {
    SEXP rcpp_result_gen;
    {
        Rcpp::RNGScope rcpp_rngScope_gen;
        rcpp_result_gen = PROTECT(_remstats_compute_stats_tie_try(effectsSEXP, edgelistSEXP, risksetSEXP, risksetMatrixSEXP, inertiaSEXP, covariatesSEXP, interactionsSEXP, memorySEXP, memory_valueSEXP, scalingSEXP, consider_typeSEXP, startSEXP, stopSEXP, directedSEXP, display_progressSEXP, methodSEXP));
    }
    Rboolean rcpp_isInterrupt_gen = Rf_inherits(rcpp_result_gen, "interrupted-error");
    if (rcpp_isInterrupt_gen) {
        UNPROTECT(1);
        Rf_onintr();
    }
    bool rcpp_isLongjump_gen = Rcpp::internal::isLongjumpSentinel(rcpp_result_gen);
    if (rcpp_isLongjump_gen) {
        Rcpp::internal::resumeJump(rcpp_result_gen);
    }
    Rboolean rcpp_isError_gen = Rf_inherits(rcpp_result_gen, "try-error");
    if (rcpp_isError_gen) {
        SEXP rcpp_msgSEXP_gen = Rf_asChar(rcpp_result_gen);
        UNPROTECT(1);
        (Rf_error)("%s", CHAR(rcpp_msgSEXP_gen));
    }
    UNPROTECT(1);
    return rcpp_result_gen;
}
// calculate_FEtype_sampled
arma::mat calculate_FEtype_sampled(const arma::mat& covariates, const arma::mat& edgelist, const arma::mat& riskset, int start, int stop, Rcpp::String method, const arma::imat& sample_map);
RcppExport SEXP _remstats_calculate_FEtype_sampled(SEXP covariatesSEXP, SEXP edgelistSEXP, SEXP risksetSEXP, SEXP startSEXP, SEXP stopSEXP, SEXP methodSEXP, SEXP sample_mapSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::mat& >::type covariates(covariatesSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type edgelist(edgelistSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type riskset(risksetSEXP);
    Rcpp::traits::input_parameter< int >::type start(startSEXP);
    Rcpp::traits::input_parameter< int >::type stop(stopSEXP);
    Rcpp::traits::input_parameter< Rcpp::String >::type method(methodSEXP);
    Rcpp::traits::input_parameter< const arma::imat& >::type sample_map(sample_mapSEXP);
    rcpp_result_gen = Rcpp::wrap(calculate_FEtype_sampled(covariates, edgelist, riskset, start, stop, method, sample_map));
    return rcpp_result_gen;
END_RCPP
}
// calculate_exo_actor_sampled
arma::mat calculate_exo_actor_sampled(std::string type, const arma::mat& edgelist, const arma::mat& riskset, const arma::mat& covariates, int start, int stop, bool display_progress, Rcpp::String method, const arma::imat& sample_map);
RcppExport SEXP _remstats_calculate_exo_actor_sampled(SEXP typeSEXP, SEXP edgelistSEXP, SEXP risksetSEXP, SEXP covariatesSEXP, SEXP startSEXP, SEXP stopSEXP, SEXP display_progressSEXP, SEXP methodSEXP, SEXP sample_mapSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< std::string >::type type(typeSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type edgelist(edgelistSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type riskset(risksetSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type covariates(covariatesSEXP);
    Rcpp::traits::input_parameter< int >::type start(startSEXP);
    Rcpp::traits::input_parameter< int >::type stop(stopSEXP);
    Rcpp::traits::input_parameter< bool >::type display_progress(display_progressSEXP);
    Rcpp::traits::input_parameter< Rcpp::String >::type method(methodSEXP);
    Rcpp::traits::input_parameter< const arma::imat& >::type sample_map(sample_mapSEXP);
    rcpp_result_gen = Rcpp::wrap(calculate_exo_actor_sampled(type, edgelist, riskset, covariates, start, stop, display_progress, method, sample_map));
    return rcpp_result_gen;
END_RCPP
}
// calculate_pshift_sampled
arma::mat calculate_pshift_sampled(std::string type, const arma::mat& edgelist, const arma::mat& risksetMatrix, const arma::mat& riskset, int start, int stop, bool directed, bool consider_type, bool display_progress, Rcpp::String method, const arma::imat& sample_map);
RcppExport SEXP _remstats_calculate_pshift_sampled(SEXP typeSEXP, SEXP edgelistSEXP, SEXP risksetMatrixSEXP, SEXP risksetSEXP, SEXP startSEXP, SEXP stopSEXP, SEXP directedSEXP, SEXP consider_typeSEXP, SEXP display_progressSEXP, SEXP methodSEXP, SEXP sample_mapSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< std::string >::type type(typeSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type edgelist(edgelistSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type risksetMatrix(risksetMatrixSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type riskset(risksetSEXP);
    Rcpp::traits::input_parameter< int >::type start(startSEXP);
    Rcpp::traits::input_parameter< int >::type stop(stopSEXP);
    Rcpp::traits::input_parameter< bool >::type directed(directedSEXP);
    Rcpp::traits::input_parameter< bool >::type consider_type(consider_typeSEXP);
    Rcpp::traits::input_parameter< bool >::type display_progress(display_progressSEXP);
    Rcpp::traits::input_parameter< Rcpp::String >::type method(methodSEXP);
    Rcpp::traits::input_parameter< const arma::imat& >::type sample_map(sample_mapSEXP);
    rcpp_result_gen = Rcpp::wrap(calculate_pshift_sampled(type, edgelist, risksetMatrix, riskset, start, stop, directed, consider_type, display_progress, method, sample_map));
    return rcpp_result_gen;
END_RCPP
}
// calculate_rrank_sampled
arma::mat calculate_rrank_sampled(int type, const arma::mat& edgelist, const arma::mat& risksetMatrix, const arma::mat& riskset, int start, int stop, bool consider_type, bool display_progress, Rcpp::String method, const arma::imat& sample_map);
RcppExport SEXP _remstats_calculate_rrank_sampled(SEXP typeSEXP, SEXP edgelistSEXP, SEXP risksetMatrixSEXP, SEXP risksetSEXP, SEXP startSEXP, SEXP stopSEXP, SEXP consider_typeSEXP, SEXP display_progressSEXP, SEXP methodSEXP, SEXP sample_mapSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type edgelist(edgelistSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type risksetMatrix(risksetMatrixSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type riskset(risksetSEXP);
    Rcpp::traits::input_parameter< int >::type start(startSEXP);
    Rcpp::traits::input_parameter< int >::type stop(stopSEXP);
    Rcpp::traits::input_parameter< bool >::type consider_type(consider_typeSEXP);
    Rcpp::traits::input_parameter< bool >::type display_progress(display_progressSEXP);
    Rcpp::traits::input_parameter< Rcpp::String >::type method(methodSEXP);
    Rcpp::traits::input_parameter< const arma::imat& >::type sample_map(sample_mapSEXP);
    rcpp_result_gen = Rcpp::wrap(calculate_rrank_sampled(type, edgelist, risksetMatrix, riskset, start, stop, consider_type, display_progress, method, sample_map));
    return rcpp_result_gen;
END_RCPP
}
// calculate_inertia_sampled
arma::mat calculate_inertia_sampled(const arma::mat& edgelist, const arma::vec& weights, const arma::mat& risksetMatrix, const arma::mat& riskset, Rcpp::String memory, const arma::vec& memory_value, int start, int stop, bool directed, bool consider_type, bool display_progress, Rcpp::String method, const arma::imat& sample_map);
RcppExport SEXP _remstats_calculate_inertia_sampled(SEXP edgelistSEXP, SEXP weightsSEXP, SEXP risksetMatrixSEXP, SEXP risksetSEXP, SEXP memorySEXP, SEXP memory_valueSEXP, SEXP startSEXP, SEXP stopSEXP, SEXP directedSEXP, SEXP consider_typeSEXP, SEXP display_progressSEXP, SEXP methodSEXP, SEXP sample_mapSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::mat& >::type edgelist(edgelistSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type weights(weightsSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type risksetMatrix(risksetMatrixSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type riskset(risksetSEXP);
    Rcpp::traits::input_parameter< Rcpp::String >::type memory(memorySEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type memory_value(memory_valueSEXP);
    Rcpp::traits::input_parameter< int >::type start(startSEXP);
    Rcpp::traits::input_parameter< int >::type stop(stopSEXP);
    Rcpp::traits::input_parameter< bool >::type directed(directedSEXP);
    Rcpp::traits::input_parameter< bool >::type consider_type(consider_typeSEXP);
    Rcpp::traits::input_parameter< bool >::type display_progress(display_progressSEXP);
    Rcpp::traits::input_parameter< Rcpp::String >::type method(methodSEXP);
    Rcpp::traits::input_parameter< const arma::imat& >::type sample_map(sample_mapSEXP);
    rcpp_result_gen = Rcpp::wrap(calculate_inertia_sampled(edgelist, weights, risksetMatrix, riskset, memory, memory_value, start, stop, directed, consider_type, display_progress, method, sample_map));
    return rcpp_result_gen;
END_RCPP
}
// calculate_reciprocity_sampled
arma::mat calculate_reciprocity_sampled(const arma::mat& edgelist, const arma::vec& weights, const arma::mat& risksetMatrix, const arma::mat& riskset, Rcpp::String memory, const arma::vec& memory_value, int start, int stop, bool consider_type, bool display_progress, Rcpp::String method, const arma::imat& sample_map);
RcppExport SEXP _remstats_calculate_reciprocity_sampled(SEXP edgelistSEXP, SEXP weightsSEXP, SEXP risksetMatrixSEXP, SEXP risksetSEXP, SEXP memorySEXP, SEXP memory_valueSEXP, SEXP startSEXP, SEXP stopSEXP, SEXP consider_typeSEXP, SEXP display_progressSEXP, SEXP methodSEXP, SEXP sample_mapSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const arma::mat& >::type edgelist(edgelistSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type weights(weightsSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type risksetMatrix(risksetMatrixSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type riskset(risksetSEXP);
    Rcpp::traits::input_parameter< Rcpp::String >::type memory(memorySEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type memory_value(memory_valueSEXP);
    Rcpp::traits::input_parameter< int >::type start(startSEXP);
    Rcpp::traits::input_parameter< int >::type stop(stopSEXP);
    Rcpp::traits::input_parameter< bool >::type consider_type(consider_typeSEXP);
    Rcpp::traits::input_parameter< bool >::type display_progress(display_progressSEXP);
    Rcpp::traits::input_parameter< Rcpp::String >::type method(methodSEXP);
    Rcpp::traits::input_parameter< const arma::imat& >::type sample_map(sample_mapSEXP);
    rcpp_result_gen = Rcpp::wrap(calculate_reciprocity_sampled(edgelist, weights, risksetMatrix, riskset, memory, memory_value, start, stop, consider_type, display_progress, method, sample_map));
    return rcpp_result_gen;
END_RCPP
}
// calculate_degree_actor_sampled
arma::mat calculate_degree_actor_sampled(int type, const arma::mat& edgelist, const arma::vec& weights, const arma::mat& riskset, Rcpp::String memory, const arma::vec& memory_value, int start, int stop, bool consider_type, bool display_progress, Rcpp::String method, const arma::imat& sample_map);
RcppExport SEXP _remstats_calculate_degree_actor_sampled(SEXP typeSEXP, SEXP edgelistSEXP, SEXP weightsSEXP, SEXP risksetSEXP, SEXP memorySEXP, SEXP memory_valueSEXP, SEXP startSEXP, SEXP stopSEXP, SEXP consider_typeSEXP, SEXP display_progressSEXP, SEXP methodSEXP, SEXP sample_mapSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type edgelist(edgelistSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type weights(weightsSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type riskset(risksetSEXP);
    Rcpp::traits::input_parameter< Rcpp::String >::type memory(memorySEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type memory_value(memory_valueSEXP);
    Rcpp::traits::input_parameter< int >::type start(startSEXP);
    Rcpp::traits::input_parameter< int >::type stop(stopSEXP);
    Rcpp::traits::input_parameter< bool >::type consider_type(consider_typeSEXP);
    Rcpp::traits::input_parameter< bool >::type display_progress(display_progressSEXP);
    Rcpp::traits::input_parameter< Rcpp::String >::type method(methodSEXP);
    Rcpp::traits::input_parameter< const arma::imat& >::type sample_map(sample_mapSEXP);
    rcpp_result_gen = Rcpp::wrap(calculate_degree_actor_sampled(type, edgelist, weights, riskset, memory, memory_value, start, stop, consider_type, display_progress, method, sample_map));
    return rcpp_result_gen;
END_RCPP
}
// calculate_degree_dyad_sampled
arma::mat calculate_degree_dyad_sampled(int type, const arma::mat& edgelist, const arma::vec& weights, const arma::mat& riskset, Rcpp::String memory, const arma::vec& memory_value, int start, int stop, bool consider_type, bool display_progress, Rcpp::String method, const arma::imat& sample_map);
RcppExport SEXP _remstats_calculate_degree_dyad_sampled(SEXP typeSEXP, SEXP edgelistSEXP, SEXP weightsSEXP, SEXP risksetSEXP, SEXP memorySEXP, SEXP memory_valueSEXP, SEXP startSEXP, SEXP stopSEXP, SEXP consider_typeSEXP, SEXP display_progressSEXP, SEXP methodSEXP, SEXP sample_mapSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type edgelist(edgelistSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type weights(weightsSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type riskset(risksetSEXP);
    Rcpp::traits::input_parameter< Rcpp::String >::type memory(memorySEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type memory_value(memory_valueSEXP);
    Rcpp::traits::input_parameter< int >::type start(startSEXP);
    Rcpp::traits::input_parameter< int >::type stop(stopSEXP);
    Rcpp::traits::input_parameter< bool >::type consider_type(consider_typeSEXP);
    Rcpp::traits::input_parameter< bool >::type display_progress(display_progressSEXP);
    Rcpp::traits::input_parameter< Rcpp::String >::type method(methodSEXP);
    Rcpp::traits::input_parameter< const arma::imat& >::type sample_map(sample_mapSEXP);
    rcpp_result_gen = Rcpp::wrap(calculate_degree_dyad_sampled(type, edgelist, weights, riskset, memory, memory_value, start, stop, consider_type, display_progress, method, sample_map));
    return rcpp_result_gen;
END_RCPP
}
// calculate_triad_sampled
arma::mat calculate_triad_sampled(int type, const arma::mat& edgelist, const arma::vec& weights, const arma::mat& riskset, const arma::mat& risksetMatrix, Rcpp::String memory, const arma::vec& memory_value, int start, int stop, Rcpp::String scaling, bool consider_type, bool display_progress, Rcpp::String method, const arma::imat& sample_map);
RcppExport SEXP _remstats_calculate_triad_sampled(SEXP typeSEXP, SEXP edgelistSEXP, SEXP weightsSEXP, SEXP risksetSEXP, SEXP risksetMatrixSEXP, SEXP memorySEXP, SEXP memory_valueSEXP, SEXP startSEXP, SEXP stopSEXP, SEXP scalingSEXP, SEXP consider_typeSEXP, SEXP display_progressSEXP, SEXP methodSEXP, SEXP sample_mapSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< int >::type type(typeSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type edgelist(edgelistSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type weights(weightsSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type riskset(risksetSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type risksetMatrix(risksetMatrixSEXP);
    Rcpp::traits::input_parameter< Rcpp::String >::type memory(memorySEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type memory_value(memory_valueSEXP);
    Rcpp::traits::input_parameter< int >::type start(startSEXP);
    Rcpp::traits::input_parameter< int >::type stop(stopSEXP);
    Rcpp::traits::input_parameter< Rcpp::String >::type scaling(scalingSEXP);
    Rcpp::traits::input_parameter< bool >::type consider_type(consider_typeSEXP);
    Rcpp::traits::input_parameter< bool >::type display_progress(display_progressSEXP);
    Rcpp::traits::input_parameter< Rcpp::String >::type method(methodSEXP);
    Rcpp::traits::input_parameter< const arma::imat& >::type sample_map(sample_mapSEXP);
    rcpp_result_gen = Rcpp::wrap(calculate_triad_sampled(type, edgelist, weights, riskset, risksetMatrix, memory, memory_value, start, stop, scaling, consider_type, display_progress, method, sample_map));
    return rcpp_result_gen;
END_RCPP
}
// get_userstat_sampled
arma::mat get_userstat_sampled(SEXP covariatesSEXP, const arma::mat& edgelist, int start, int stop, bool display_progress, Rcpp::String method, const arma::imat& sample_map);
RcppExport SEXP _remstats_get_userstat_sampled(SEXP covariatesSEXPSEXP, SEXP edgelistSEXP, SEXP startSEXP, SEXP stopSEXP, SEXP display_progressSEXP, SEXP methodSEXP, SEXP sample_mapSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< SEXP >::type covariatesSEXP(covariatesSEXPSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type edgelist(edgelistSEXP);
    Rcpp::traits::input_parameter< int >::type start(startSEXP);
    Rcpp::traits::input_parameter< int >::type stop(stopSEXP);
    Rcpp::traits::input_parameter< bool >::type display_progress(display_progressSEXP);
    Rcpp::traits::input_parameter< Rcpp::String >::type method(methodSEXP);
    Rcpp::traits::input_parameter< const arma::imat& >::type sample_map(sample_mapSEXP);
    rcpp_result_gen = Rcpp::wrap(get_userstat_sampled(covariatesSEXP, edgelist, start, stop, display_progress, method, sample_map));
    return rcpp_result_gen;
END_RCPP
}
// compute_stats_tie_sampled
arma::cube compute_stats_tie_sampled(Rcpp::CharacterVector effects, const arma::mat& edgelist, const arma::vec& weights, const arma::mat& riskset, const arma::mat& risksetMatrix, const Rcpp::List& covariates, const Rcpp::List& interactions, Rcpp::String memory, const arma::vec& memory_value, Rcpp::CharacterVector& scaling, Rcpp::LogicalVector& consider_type, int start, int stop, bool directed, bool display_progress, Rcpp::String method, const arma::imat& sample_map);
RcppExport SEXP _remstats_compute_stats_tie_sampled(SEXP effectsSEXP, SEXP edgelistSEXP, SEXP weightsSEXP, SEXP risksetSEXP, SEXP risksetMatrixSEXP, SEXP covariatesSEXP, SEXP interactionsSEXP, SEXP memorySEXP, SEXP memory_valueSEXP, SEXP scalingSEXP, SEXP consider_typeSEXP, SEXP startSEXP, SEXP stopSEXP, SEXP directedSEXP, SEXP display_progressSEXP, SEXP methodSEXP, SEXP sample_mapSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type effects(effectsSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type edgelist(edgelistSEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type weights(weightsSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type riskset(risksetSEXP);
    Rcpp::traits::input_parameter< const arma::mat& >::type risksetMatrix(risksetMatrixSEXP);
    Rcpp::traits::input_parameter< const Rcpp::List& >::type covariates(covariatesSEXP);
    Rcpp::traits::input_parameter< const Rcpp::List& >::type interactions(interactionsSEXP);
    Rcpp::traits::input_parameter< Rcpp::String >::type memory(memorySEXP);
    Rcpp::traits::input_parameter< const arma::vec& >::type memory_value(memory_valueSEXP);
    Rcpp::traits::input_parameter< Rcpp::CharacterVector& >::type scaling(scalingSEXP);
    Rcpp::traits::input_parameter< Rcpp::LogicalVector& >::type consider_type(consider_typeSEXP);
    Rcpp::traits::input_parameter< int >::type start(startSEXP);
    Rcpp::traits::input_parameter< int >::type stop(stopSEXP);
    Rcpp::traits::input_parameter< bool >::type directed(directedSEXP);
    Rcpp::traits::input_parameter< bool >::type display_progress(display_progressSEXP);
    Rcpp::traits::input_parameter< Rcpp::String >::type method(methodSEXP);
    Rcpp::traits::input_parameter< const arma::imat& >::type sample_map(sample_mapSEXP);
    rcpp_result_gen = Rcpp::wrap(compute_stats_tie_sampled(effects, edgelist, weights, riskset, risksetMatrix, covariates, interactions, memory, memory_value, scaling, consider_type, start, stop, directed, display_progress, method, sample_map));
    return rcpp_result_gen;
END_RCPP
}
// combine_stats
arma::cube combine_stats(const Rcpp::List& array_list, const Rcpp::List& keep_list);
RcppExport SEXP _remstats_combine_stats(SEXP array_listSEXP, SEXP keep_listSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const Rcpp::List& >::type array_list(array_listSEXP);
    Rcpp::traits::input_parameter< const Rcpp::List& >::type keep_list(keep_listSEXP);
    rcpp_result_gen = Rcpp::wrap(combine_stats(array_list, keep_list));
    return rcpp_result_gen;
END_RCPP
}

// validate (ensure exported C++ functions exist before calling them)
static int _remstats_RcppExport_validate(const char* sig) { 
    static std::set<std::string> signatures;
    if (signatures.empty()) {
        signatures.insert("arma::cube(*compute_stats_sender)(Rcpp::CharacterVector&,const arma::mat&,const arma::vec&,const arma::vec&,const Rcpp::List&,const Rcpp::List&,Rcpp::String,const arma::vec,Rcpp::CharacterVector&,int,int,Rcpp::String,bool)");
        signatures.insert("arma::cube(*compute_stats_receiver)(Rcpp::CharacterVector&,const arma::mat&,const arma::vec&,const arma::vec&,const Rcpp::List&,const Rcpp::List&,Rcpp::String,const arma::vec,Rcpp::CharacterVector&,int,int,Rcpp::String,bool)");
        signatures.insert("arma::mat(*get_riskset)(arma::uvec,arma::uvec,bool)");
        signatures.insert("arma::mat(*convert_to_risksetMatrix)(arma::mat,int,int)");
        signatures.insert("arma::mat(*calculate_inertia)(const arma::mat&,const arma::vec&,const arma::mat&,Rcpp::String,const arma::vec&,int,int,bool,Rcpp::String)");
        signatures.insert("arma::cube(*compute_stats_tie)(Rcpp::CharacterVector,const arma::mat&,const arma::mat&,const arma::mat&,const arma::mat&,const Rcpp::List&,const Rcpp::List&,Rcpp::String,const arma::vec&,Rcpp::CharacterVector&,Rcpp::LogicalVector&,int,int,bool,bool,Rcpp::String)");
    }
    return signatures.find(sig) != signatures.end();
}

// registerCCallable (register entry points for exported C++ functions)
RcppExport SEXP _remstats_RcppExport_registerCCallable() { 
    R_RegisterCCallable("remstats", "_remstats_compute_stats_sender", (DL_FUNC)_remstats_compute_stats_sender_try);
    R_RegisterCCallable("remstats", "_remstats_compute_stats_receiver", (DL_FUNC)_remstats_compute_stats_receiver_try);
    R_RegisterCCallable("remstats", "_remstats_get_riskset", (DL_FUNC)_remstats_get_riskset_try);
    R_RegisterCCallable("remstats", "_remstats_convert_to_risksetMatrix", (DL_FUNC)_remstats_convert_to_risksetMatrix_try);
    R_RegisterCCallable("remstats", "_remstats_calculate_inertia", (DL_FUNC)_remstats_calculate_inertia_try);
    R_RegisterCCallable("remstats", "_remstats_compute_stats_tie", (DL_FUNC)_remstats_compute_stats_tie_try);
    R_RegisterCCallable("remstats", "_remstats_RcppExport_validate", (DL_FUNC)_remstats_RcppExport_validate);
    return R_NilValue;
}

static const R_CallMethodDef CallEntries[] = {
    {"_remstats_compute_stats_sender", (DL_FUNC) &_remstats_compute_stats_sender, 13},
    {"_remstats_compute_stats_receiver", (DL_FUNC) &_remstats_compute_stats_receiver, 13},
    {"_remstats_get_riskset", (DL_FUNC) &_remstats_get_riskset, 3},
    {"_remstats_convert_to_risksetMatrix", (DL_FUNC) &_remstats_convert_to_risksetMatrix, 3},
    {"_remstats_calculate_inertia", (DL_FUNC) &_remstats_calculate_inertia, 9},
    {"_remstats_compute_stats_tie", (DL_FUNC) &_remstats_compute_stats_tie, 16},
    {"_remstats_calculate_FEtype_sampled", (DL_FUNC) &_remstats_calculate_FEtype_sampled, 7},
    {"_remstats_calculate_exo_actor_sampled", (DL_FUNC) &_remstats_calculate_exo_actor_sampled, 9},
    {"_remstats_calculate_pshift_sampled", (DL_FUNC) &_remstats_calculate_pshift_sampled, 11},
    {"_remstats_calculate_rrank_sampled", (DL_FUNC) &_remstats_calculate_rrank_sampled, 10},
    {"_remstats_calculate_inertia_sampled", (DL_FUNC) &_remstats_calculate_inertia_sampled, 13},
    {"_remstats_calculate_reciprocity_sampled", (DL_FUNC) &_remstats_calculate_reciprocity_sampled, 12},
    {"_remstats_calculate_degree_actor_sampled", (DL_FUNC) &_remstats_calculate_degree_actor_sampled, 12},
    {"_remstats_calculate_degree_dyad_sampled", (DL_FUNC) &_remstats_calculate_degree_dyad_sampled, 12},
    {"_remstats_calculate_triad_sampled", (DL_FUNC) &_remstats_calculate_triad_sampled, 14},
    {"_remstats_get_userstat_sampled", (DL_FUNC) &_remstats_get_userstat_sampled, 7},
    {"_remstats_compute_stats_tie_sampled", (DL_FUNC) &_remstats_compute_stats_tie_sampled, 17},
    {"_remstats_combine_stats", (DL_FUNC) &_remstats_combine_stats, 2},
    {"_remstats_RcppExport_registerCCallable", (DL_FUNC) &_remstats_RcppExport_registerCCallable, 0},
    {NULL, NULL, 0}
};

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