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

#include <RcppEigen.h>
#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

// aSpline
List aSpline(NumericVector x, NumericVector y, NumericVector xout, CharacterVector method, int degree);
RcppExport SEXP _interp_aSpline(SEXP xSEXP, SEXP ySEXP, SEXP xoutSEXP, SEXP methodSEXP, SEXP degreeSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< NumericVector >::type x(xSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type y(ySEXP);
    Rcpp::traits::input_parameter< NumericVector >::type xout(xoutSEXP);
    Rcpp::traits::input_parameter< CharacterVector >::type method(methodSEXP);
    Rcpp::traits::input_parameter< int >::type degree(degreeSEXP);
    rcpp_result_gen = Rcpp::wrap(aSpline(x, y, xout, method, degree));
    return rcpp_result_gen;
END_RCPP
}
// circum
List circum(NumericVector x, NumericVector y);
RcppExport SEXP _interp_circum(SEXP xSEXP, SEXP ySEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< NumericVector >::type x(xSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type y(ySEXP);
    rcpp_result_gen = Rcpp::wrap(circum(x, y));
    return rcpp_result_gen;
END_RCPP
}
// interpDeltri
List interpDeltri(NumericVector x, NumericVector y, NumericVector zD, List t, CharacterVector input, CharacterVector output);
RcppExport SEXP _interp_interpDeltri(SEXP xSEXP, SEXP ySEXP, SEXP zDSEXP, SEXP tSEXP, SEXP inputSEXP, SEXP outputSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< NumericVector >::type x(xSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type y(ySEXP);
    Rcpp::traits::input_parameter< NumericVector >::type zD(zDSEXP);
    Rcpp::traits::input_parameter< List >::type t(tSEXP);
    Rcpp::traits::input_parameter< CharacterVector >::type input(inputSEXP);
    Rcpp::traits::input_parameter< CharacterVector >::type output(outputSEXP);
    rcpp_result_gen = Rcpp::wrap(interpDeltri(x, y, zD, t, input, output));
    return rcpp_result_gen;
END_RCPP
}
// interpShull
List interpShull(NumericVector x, NumericVector y, NumericVector xD, NumericVector yD, NumericVector zD, bool linear, CharacterVector input, CharacterVector output, CharacterVector kernel, NumericVector h, CharacterVector solver, int degree, bool baryweight, bool autodegree, double adtol, bool smoothpde, bool akimaweight, int nweight);
RcppExport SEXP _interp_interpShull(SEXP xSEXP, SEXP ySEXP, SEXP xDSEXP, SEXP yDSEXP, SEXP zDSEXP, SEXP linearSEXP, SEXP inputSEXP, SEXP outputSEXP, SEXP kernelSEXP, SEXP hSEXP, SEXP solverSEXP, SEXP degreeSEXP, SEXP baryweightSEXP, SEXP autodegreeSEXP, SEXP adtolSEXP, SEXP smoothpdeSEXP, SEXP akimaweightSEXP, SEXP nweightSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< NumericVector >::type x(xSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type y(ySEXP);
    Rcpp::traits::input_parameter< NumericVector >::type xD(xDSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type yD(yDSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type zD(zDSEXP);
    Rcpp::traits::input_parameter< bool >::type linear(linearSEXP);
    Rcpp::traits::input_parameter< CharacterVector >::type input(inputSEXP);
    Rcpp::traits::input_parameter< CharacterVector >::type output(outputSEXP);
    Rcpp::traits::input_parameter< CharacterVector >::type kernel(kernelSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type h(hSEXP);
    Rcpp::traits::input_parameter< CharacterVector >::type solver(solverSEXP);
    Rcpp::traits::input_parameter< int >::type degree(degreeSEXP);
    Rcpp::traits::input_parameter< bool >::type baryweight(baryweightSEXP);
    Rcpp::traits::input_parameter< bool >::type autodegree(autodegreeSEXP);
    Rcpp::traits::input_parameter< double >::type adtol(adtolSEXP);
    Rcpp::traits::input_parameter< bool >::type smoothpde(smoothpdeSEXP);
    Rcpp::traits::input_parameter< bool >::type akimaweight(akimaweightSEXP);
    Rcpp::traits::input_parameter< int >::type nweight(nweightSEXP);
    rcpp_result_gen = Rcpp::wrap(interpShull(x, y, xD, yD, zD, linear, input, output, kernel, h, solver, degree, baryweight, autodegree, adtol, smoothpde, akimaweight, nweight));
    return rcpp_result_gen;
END_RCPP
}
// partDerivGrid
List partDerivGrid(NumericVector x, NumericVector y, NumericVector xD, NumericVector yD, NumericVector zD, CharacterVector kernel, NumericVector h, CharacterVector solver, int degree, bool smoothpde, bool akimaweight, int nweight);
RcppExport SEXP _interp_partDerivGrid(SEXP xSEXP, SEXP ySEXP, SEXP xDSEXP, SEXP yDSEXP, SEXP zDSEXP, SEXP kernelSEXP, SEXP hSEXP, SEXP solverSEXP, SEXP degreeSEXP, SEXP smoothpdeSEXP, SEXP akimaweightSEXP, SEXP nweightSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< NumericVector >::type x(xSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type y(ySEXP);
    Rcpp::traits::input_parameter< NumericVector >::type xD(xDSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type yD(yDSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type zD(zDSEXP);
    Rcpp::traits::input_parameter< CharacterVector >::type kernel(kernelSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type h(hSEXP);
    Rcpp::traits::input_parameter< CharacterVector >::type solver(solverSEXP);
    Rcpp::traits::input_parameter< int >::type degree(degreeSEXP);
    Rcpp::traits::input_parameter< bool >::type smoothpde(smoothpdeSEXP);
    Rcpp::traits::input_parameter< bool >::type akimaweight(akimaweightSEXP);
    Rcpp::traits::input_parameter< int >::type nweight(nweightSEXP);
    rcpp_result_gen = Rcpp::wrap(partDerivGrid(x, y, xD, yD, zD, kernel, h, solver, degree, smoothpde, akimaweight, nweight));
    return rcpp_result_gen;
END_RCPP
}
// partDerivPoints
List partDerivPoints(NumericVector x, NumericVector y, NumericVector xD, NumericVector yD, NumericVector zD, CharacterVector kernel, NumericVector h, CharacterVector solver, int degree, bool smoothpde, bool akimaweight, int nweight);
RcppExport SEXP _interp_partDerivPoints(SEXP xSEXP, SEXP ySEXP, SEXP xDSEXP, SEXP yDSEXP, SEXP zDSEXP, SEXP kernelSEXP, SEXP hSEXP, SEXP solverSEXP, SEXP degreeSEXP, SEXP smoothpdeSEXP, SEXP akimaweightSEXP, SEXP nweightSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< NumericVector >::type x(xSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type y(ySEXP);
    Rcpp::traits::input_parameter< NumericVector >::type xD(xDSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type yD(yDSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type zD(zDSEXP);
    Rcpp::traits::input_parameter< CharacterVector >::type kernel(kernelSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type h(hSEXP);
    Rcpp::traits::input_parameter< CharacterVector >::type solver(solverSEXP);
    Rcpp::traits::input_parameter< int >::type degree(degreeSEXP);
    Rcpp::traits::input_parameter< bool >::type smoothpde(smoothpdeSEXP);
    Rcpp::traits::input_parameter< bool >::type akimaweight(akimaweightSEXP);
    Rcpp::traits::input_parameter< int >::type nweight(nweightSEXP);
    rcpp_result_gen = Rcpp::wrap(partDerivPoints(x, y, xD, yD, zD, kernel, h, solver, degree, smoothpde, akimaweight, nweight));
    return rcpp_result_gen;
END_RCPP
}
// nearestNeighbours
List nearestNeighbours(NumericVector x, NumericVector y);
RcppExport SEXP _interp_nearestNeighbours(SEXP xSEXP, SEXP ySEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< NumericVector >::type x(xSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type y(ySEXP);
    rcpp_result_gen = Rcpp::wrap(nearestNeighbours(x, y));
    return rcpp_result_gen;
END_RCPP
}
// shullDeltri
List shullDeltri(NumericVector x, NumericVector y);
RcppExport SEXP _interp_shullDeltri(SEXP xSEXP, SEXP ySEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< NumericVector >::type x(xSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type y(ySEXP);
    rcpp_result_gen = Rcpp::wrap(shullDeltri(x, y));
    return rcpp_result_gen;
END_RCPP
}
// triFind
List triFind(int nT, NumericVector xT, NumericVector yT, IntegerVector i1, IntegerVector i2, IntegerVector i3, NumericVector x, NumericVector y);
RcppExport SEXP _interp_triFind(SEXP nTSEXP, SEXP xTSEXP, SEXP yTSEXP, SEXP i1SEXP, SEXP i2SEXP, SEXP i3SEXP, SEXP xSEXP, SEXP ySEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< int >::type nT(nTSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type xT(xTSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type yT(yTSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type i1(i1SEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type i2(i2SEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type i3(i3SEXP);
    Rcpp::traits::input_parameter< NumericVector >::type x(xSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type y(ySEXP);
    rcpp_result_gen = Rcpp::wrap(triFind(nT, xT, yT, i1, i2, i3, x, y));
    return rcpp_result_gen;
END_RCPP
}
// left
LogicalVector left(double x1, double y1, double x2, double y2, NumericVector x0, NumericVector y0, double eps);
RcppExport SEXP _interp_left(SEXP x1SEXP, SEXP y1SEXP, SEXP x2SEXP, SEXP y2SEXP, SEXP x0SEXP, SEXP y0SEXP, SEXP epsSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< double >::type x1(x1SEXP);
    Rcpp::traits::input_parameter< double >::type y1(y1SEXP);
    Rcpp::traits::input_parameter< double >::type x2(x2SEXP);
    Rcpp::traits::input_parameter< double >::type y2(y2SEXP);
    Rcpp::traits::input_parameter< NumericVector >::type x0(x0SEXP);
    Rcpp::traits::input_parameter< NumericVector >::type y0(y0SEXP);
    Rcpp::traits::input_parameter< double >::type eps(epsSEXP);
    rcpp_result_gen = Rcpp::wrap(left(x1, y1, x2, y2, x0, y0, eps));
    return rcpp_result_gen;
END_RCPP
}
// on
LogicalVector on(double x1, double y1, double x2, double y2, NumericVector x0, NumericVector y0, double eps);
RcppExport SEXP _interp_on(SEXP x1SEXP, SEXP y1SEXP, SEXP x2SEXP, SEXP y2SEXP, SEXP x0SEXP, SEXP y0SEXP, SEXP epsSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< double >::type x1(x1SEXP);
    Rcpp::traits::input_parameter< double >::type y1(y1SEXP);
    Rcpp::traits::input_parameter< double >::type x2(x2SEXP);
    Rcpp::traits::input_parameter< double >::type y2(y2SEXP);
    Rcpp::traits::input_parameter< NumericVector >::type x0(x0SEXP);
    Rcpp::traits::input_parameter< NumericVector >::type y0(y0SEXP);
    Rcpp::traits::input_parameter< double >::type eps(epsSEXP);
    rcpp_result_gen = Rcpp::wrap(on(x1, y1, x2, y2, x0, y0, eps));
    return rcpp_result_gen;
END_RCPP
}
// inHull
LogicalVector inHull(List triObj, NumericVector x, NumericVector y, double eps);
RcppExport SEXP _interp_inHull(SEXP triObjSEXP, SEXP xSEXP, SEXP ySEXP, SEXP epsSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< List >::type triObj(triObjSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type x(xSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type y(ySEXP);
    Rcpp::traits::input_parameter< double >::type eps(epsSEXP);
    rcpp_result_gen = Rcpp::wrap(inHull(triObj, x, y, eps));
    return rcpp_result_gen;
END_RCPP
}
// onHull
LogicalVector onHull(List triObj, NumericVector x, NumericVector y, double eps);
RcppExport SEXP _interp_onHull(SEXP triObjSEXP, SEXP xSEXP, SEXP ySEXP, SEXP epsSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< List >::type triObj(triObjSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type x(xSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type y(ySEXP);
    Rcpp::traits::input_parameter< double >::type eps(epsSEXP);
    rcpp_result_gen = Rcpp::wrap(onHull(triObj, x, y, eps));
    return rcpp_result_gen;
END_RCPP
}
