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

#include <Rcpp.h>

using namespace Rcpp;

// getWritePositions
IntegerVector getWritePositions(double a);
RcppExport SEXP _RBBGCMuso_getWritePositions(SEXP aSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< double >::type a(aSEXP);
    rcpp_result_gen = Rcpp::wrap(getWritePositions(a));
    return rcpp_result_gen;
END_RCPP
}
// changeMusoC
void changeMusoC(std::string inFile, std::string outFile, NumericMatrix inMat);
RcppExport SEXP _RBBGCMuso_changeMusoC(SEXP inFileSEXP, SEXP outFileSEXP, SEXP inMatSEXP) {
BEGIN_RCPP
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< std::string >::type inFile(inFileSEXP);
    Rcpp::traits::input_parameter< std::string >::type outFile(outFileSEXP);
    Rcpp::traits::input_parameter< NumericMatrix >::type inMat(inMatSEXP);
    changeMusoC(inFile, outFile, inMat);
    return R_NilValue;
END_RCPP
}
// randTypeOne
NumericMatrix randTypeOne(NumericMatrix m);
RcppExport SEXP _RBBGCMuso_randTypeOne(SEXP mSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< NumericMatrix >::type m(mSEXP);
    rcpp_result_gen = Rcpp::wrap(randTypeOne(m));
    return rcpp_result_gen;
END_RCPP
}
// randTypeTwo
NumericMatrix randTypeTwo(NumericMatrix m);
RcppExport SEXP _RBBGCMuso_randTypeTwo(SEXP mSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< NumericMatrix >::type m(mSEXP);
    rcpp_result_gen = Rcpp::wrap(randTypeTwo(m));
    return rcpp_result_gen;
END_RCPP
}
// musoRandomizer
NumericMatrix musoRandomizer(NumericMatrix A, NumericMatrix B);
RcppExport SEXP _RBBGCMuso_musoRandomizer(SEXP ASEXP, SEXP BSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< NumericMatrix >::type A(ASEXP);
    Rcpp::traits::input_parameter< NumericMatrix >::type B(BSEXP);
    rcpp_result_gen = Rcpp::wrap(musoRandomizer(A, B));
    return rcpp_result_gen;
END_RCPP
}

static const R_CallMethodDef CallEntries[] = {
    {"_RBBGCMuso_getWritePositions", (DL_FUNC) &_RBBGCMuso_getWritePositions, 1},
    {"_RBBGCMuso_changeMusoC", (DL_FUNC) &_RBBGCMuso_changeMusoC, 3},
    {"_RBBGCMuso_randTypeOne", (DL_FUNC) &_RBBGCMuso_randTypeOne, 1},
    {"_RBBGCMuso_randTypeTwo", (DL_FUNC) &_RBBGCMuso_randTypeTwo, 1},
    {"_RBBGCMuso_musoRandomizer", (DL_FUNC) &_RBBGCMuso_musoRandomizer, 2},
    {NULL, NULL, 0}
};

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