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

#include <Rcpp.h>

using namespace Rcpp;

// fragment_sparse_rows
Rcpp::List fragment_sparse_rows(Rcpp::IntegerVector i, Rcpp::IntegerVector p, Rcpp::IntegerVector limits);
RcppExport SEXP _beachmat_fragment_sparse_rows(SEXP iSEXP, SEXP pSEXP, SEXP limitsSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type i(iSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type p(pSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type limits(limitsSEXP);
    rcpp_result_gen = Rcpp::wrap(fragment_sparse_rows(i, p, limits));
    return rcpp_result_gen;
END_RCPP
}
// sparse_subset_index
Rcpp::IntegerVector sparse_subset_index(Rcpp::IntegerVector starts, Rcpp::IntegerVector newp);
RcppExport SEXP _beachmat_sparse_subset_index(SEXP startsSEXP, SEXP newpSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type starts(startsSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type newp(newpSEXP);
    rcpp_result_gen = Rcpp::wrap(sparse_subset_index(starts, newp));
    return rcpp_result_gen;
END_RCPP
}

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

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