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

// faith_cpp
Rcpp::NumericVector faith_cpp(const Rcpp::NumericMatrix& assay, const Rcpp::List& rowTree);
RcppExport SEXP _mia_faith_cpp(SEXP assaySEXP, SEXP rowTreeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< const Rcpp::NumericMatrix& >::type assay(assaySEXP);
    Rcpp::traits::input_parameter< const Rcpp::List& >::type rowTree(rowTreeSEXP);
    rcpp_result_gen = Rcpp::wrap(faith_cpp(assay, rowTree));
    return rcpp_result_gen;
END_RCPP
}
// apply_transformation_difference_or_division
S4 apply_transformation_difference_or_division(NumericMatrix mat, std::string method);
RcppExport SEXP _mia_apply_transformation_difference_or_division(SEXP matSEXP, SEXP methodSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< NumericMatrix >::type mat(matSEXP);
    Rcpp::traits::input_parameter< std::string >::type method(methodSEXP);
    rcpp_result_gen = Rcpp::wrap(apply_transformation_difference_or_division(mat, method));
    return rcpp_result_gen;
END_RCPP
}

static const R_CallMethodDef CallEntries[] = {
    {"_mia_faith_cpp", (DL_FUNC) &_mia_faith_cpp, 2},
    {"_mia_apply_transformation_difference_or_division", (DL_FUNC) &_mia_apply_transformation_difference_or_division, 2},
    {NULL, NULL, 0}
};

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