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

// 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);
RcppExport SEXP interp_interpShull(SEXP xSEXP, SEXP ySEXP, SEXP xDSEXP, SEXP yDSEXP, SEXP zDSEXP, SEXP linearSEXP, 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 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_result_gen = Rcpp::wrap(interpShull(x, y, xD, yD, zD, linear, input, output));
    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
}
