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


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

// hausdorff.cpp
double hausdorff_distance_cpp(cpp11::doubles_matrix<> mat_a, cpp11::doubles_matrix<> mat_b);
extern "C" SEXP _fiber_hausdorff_distance_cpp(SEXP mat_a, SEXP mat_b) {
  BEGIN_CPP11
    return cpp11::as_sexp(hausdorff_distance_cpp(cpp11::as_cpp<cpp11::decay_t<cpp11::doubles_matrix<>>>(mat_a), cpp11::as_cpp<cpp11::decay_t<cpp11::doubles_matrix<>>>(mat_b)));
  END_CPP11
}
// hausdorff.cpp
cpp11::doubles pairwise_hausdorff_cpp(cpp11::list mats);
extern "C" SEXP _fiber_pairwise_hausdorff_cpp(SEXP mats) {
  BEGIN_CPP11
    return cpp11::as_sexp(pairwise_hausdorff_cpp(cpp11::as_cpp<cpp11::decay_t<cpp11::list>>(mats)));
  END_CPP11
}

extern "C" {
static const R_CallMethodDef CallEntries[] = {
    {"_fiber_hausdorff_distance_cpp", (DL_FUNC) &_fiber_hausdorff_distance_cpp, 2},
    {"_fiber_pairwise_hausdorff_cpp", (DL_FUNC) &_fiber_pairwise_hausdorff_cpp, 1},
    {NULL, NULL, 0}
};
}

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