// Generated by cpp11: do not edit by hand
// clang-format off


#include "cpp11/declarations.hpp"
#include <R_ext/Visibility.h>

// Cdqrls.cpp
SEXP Cdqrls(SEXP x, SEXP y, SEXP tol);
extern "C" SEXP _openCyto_Cdqrls(SEXP x, SEXP y, SEXP tol) {
  BEGIN_CPP11
    return cpp11::as_sexp(Cdqrls(cpp11::as_cpp<cpp11::decay_t<SEXP>>(x), cpp11::as_cpp<cpp11::decay_t<SEXP>>(y), cpp11::as_cpp<cpp11::decay_t<SEXP>>(tol)));
  END_CPP11
}
// misc.cpp
cpp11::doubles_matrix<> collapseData(cpp11::list mat_list, cpp11::strings colnames);
extern "C" SEXP _openCyto_collapseData(SEXP mat_list, SEXP colnames) {
  BEGIN_CPP11
    return cpp11::as_sexp(collapseData(cpp11::as_cpp<cpp11::decay_t<cpp11::list>>(mat_list), cpp11::as_cpp<cpp11::decay_t<cpp11::strings>>(colnames)));
  END_CPP11
}
// rlm.cpp
cpp11::list rlm_cpp(cpp11::doubles_matrix<> x, cpp11::doubles y, int maxit);
extern "C" SEXP _openCyto_rlm_cpp(SEXP x, SEXP y, SEXP maxit) {
  BEGIN_CPP11
    return cpp11::as_sexp(rlm_cpp(cpp11::as_cpp<cpp11::decay_t<cpp11::doubles_matrix<>>>(x), cpp11::as_cpp<cpp11::decay_t<cpp11::doubles>>(y), cpp11::as_cpp<cpp11::decay_t<int>>(maxit)));
  END_CPP11
}
// solve_LSAP.cpp
std::vector<int> solve_LSAP_cpp(cpp11::doubles_matrix<> mat);
extern "C" SEXP _openCyto_solve_LSAP_cpp(SEXP mat) {
  BEGIN_CPP11
    return cpp11::as_sexp(solve_LSAP_cpp(cpp11::as_cpp<cpp11::decay_t<cpp11::doubles_matrix<>>>(mat)));
  END_CPP11
}

extern "C" {
static const R_CallMethodDef CallEntries[] = {
    {"_openCyto_Cdqrls",          (DL_FUNC) &_openCyto_Cdqrls,          3},
    {"_openCyto_collapseData",    (DL_FUNC) &_openCyto_collapseData,    2},
    {"_openCyto_rlm_cpp",         (DL_FUNC) &_openCyto_rlm_cpp,         3},
    {"_openCyto_solve_LSAP_cpp",  (DL_FUNC) &_openCyto_solve_LSAP_cpp,  1},
    {NULL, NULL, 0}
};
}

extern "C" attribute_visible void R_init_openCyto(DllInfo* dll){
  R_registerRoutines(dll, NULL, CallEntries, NULL, NULL);
  R_useDynamicSymbols(dll, FALSE);
  R_forceSymbols(dll, TRUE);
}
