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

#include <Rcpp.h>

using namespace Rcpp;

// doBilinear
NumericVector doBilinear(NumericMatrix xy, NumericMatrix x, NumericMatrix y, NumericMatrix v);
RcppExport SEXP _raster_doBilinear(SEXP xySEXP, SEXP xSEXP, SEXP ySEXP, SEXP vSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< NumericMatrix >::type xy(xySEXP);
    Rcpp::traits::input_parameter< NumericMatrix >::type x(xSEXP);
    Rcpp::traits::input_parameter< NumericMatrix >::type y(ySEXP);
    Rcpp::traits::input_parameter< NumericMatrix >::type v(vSEXP);
    rcpp_result_gen = Rcpp::wrap(doBilinear(xy, x, y, v));
    return rcpp_result_gen;
END_RCPP
}
// broom
std::vector<double> broom(std::vector<double> d, std::vector<double> f, std::vector<double> dm, std::vector<double> dist, bool down);
RcppExport SEXP _raster_broom(SEXP dSEXP, SEXP fSEXP, SEXP dmSEXP, SEXP distSEXP, SEXP downSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< std::vector<double> >::type d(dSEXP);
    Rcpp::traits::input_parameter< std::vector<double> >::type f(fSEXP);
    Rcpp::traits::input_parameter< std::vector<double> >::type dm(dmSEXP);
    Rcpp::traits::input_parameter< std::vector<double> >::type dist(distSEXP);
    Rcpp::traits::input_parameter< bool >::type down(downSEXP);
    rcpp_result_gen = Rcpp::wrap(broom(d, f, dm, dist, down));
    return rcpp_result_gen;
END_RCPP
}
// doCellFromRowCol
NumericVector doCellFromRowCol(IntegerVector nrow, IntegerVector ncol, IntegerVector rownr, IntegerVector colnr);
RcppExport SEXP _raster_doCellFromRowCol(SEXP nrowSEXP, SEXP ncolSEXP, SEXP rownrSEXP, SEXP colnrSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< IntegerVector >::type nrow(nrowSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type ncol(ncolSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type rownr(rownrSEXP);
    Rcpp::traits::input_parameter< IntegerVector >::type colnr(colnrSEXP);
    rcpp_result_gen = Rcpp::wrap(doCellFromRowCol(nrow, ncol, rownr, colnr));
    return rcpp_result_gen;
END_RCPP
}
// do_clamp
Rcpp::NumericVector do_clamp(std::vector<double> d, std::vector<double> r, bool usevals);
RcppExport SEXP _raster_do_clamp(SEXP dSEXP, SEXP rSEXP, SEXP usevalsSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< std::vector<double> >::type d(dSEXP);
    Rcpp::traits::input_parameter< std::vector<double> >::type r(rSEXP);
    Rcpp::traits::input_parameter< bool >::type usevals(usevalsSEXP);
    rcpp_result_gen = Rcpp::wrap(do_clamp(d, r, usevals));
    return rcpp_result_gen;
END_RCPP
}
// do_edge
std::vector<double> do_edge(std::vector<double> d, std::vector<int> dim, bool classes, bool edgetype, unsigned dirs);
RcppExport SEXP _raster_do_edge(SEXP dSEXP, SEXP dimSEXP, SEXP classesSEXP, SEXP edgetypeSEXP, SEXP dirsSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< std::vector<double> >::type d(dSEXP);
    Rcpp::traits::input_parameter< std::vector<int> >::type dim(dimSEXP);
    Rcpp::traits::input_parameter< bool >::type classes(classesSEXP);
    Rcpp::traits::input_parameter< bool >::type edgetype(edgetypeSEXP);
    Rcpp::traits::input_parameter< unsigned >::type dirs(dirsSEXP);
    rcpp_result_gen = Rcpp::wrap(do_edge(d, dim, classes, edgetype, dirs));
    return rcpp_result_gen;
END_RCPP
}
// do_focal_fun
std::vector<double> do_focal_fun(std::vector<double> d, Rcpp::NumericMatrix w, std::vector<unsigned> dim, Rcpp::Function fun, bool naonly);
RcppExport SEXP _raster_do_focal_fun(SEXP dSEXP, SEXP wSEXP, SEXP dimSEXP, SEXP funSEXP, SEXP naonlySEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< std::vector<double> >::type d(dSEXP);
    Rcpp::traits::input_parameter< Rcpp::NumericMatrix >::type w(wSEXP);
    Rcpp::traits::input_parameter< std::vector<unsigned> >::type dim(dimSEXP);
    Rcpp::traits::input_parameter< Rcpp::Function >::type fun(funSEXP);
    Rcpp::traits::input_parameter< bool >::type naonly(naonlySEXP);
    rcpp_result_gen = Rcpp::wrap(do_focal_fun(d, w, dim, fun, naonly));
    return rcpp_result_gen;
END_RCPP
}
// do_focal_get
std::vector<double> do_focal_get(std::vector<double> d, std::vector<unsigned> dim, std::vector<unsigned> ngb);
RcppExport SEXP _raster_do_focal_get(SEXP dSEXP, SEXP dimSEXP, SEXP ngbSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< std::vector<double> >::type d(dSEXP);
    Rcpp::traits::input_parameter< std::vector<unsigned> >::type dim(dimSEXP);
    Rcpp::traits::input_parameter< std::vector<unsigned> >::type ngb(ngbSEXP);
    rcpp_result_gen = Rcpp::wrap(do_focal_get(d, dim, ngb));
    return rcpp_result_gen;
END_RCPP
}
// do_focal_sum
std::vector<double> do_focal_sum(std::vector<double> d, Rcpp::NumericMatrix w, std::vector<double> dim, bool narm, bool naonly, bool bemean);
RcppExport SEXP _raster_do_focal_sum(SEXP dSEXP, SEXP wSEXP, SEXP dimSEXP, SEXP narmSEXP, SEXP naonlySEXP, SEXP bemeanSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< std::vector<double> >::type d(dSEXP);
    Rcpp::traits::input_parameter< Rcpp::NumericMatrix >::type w(wSEXP);
    Rcpp::traits::input_parameter< std::vector<double> >::type dim(dimSEXP);
    Rcpp::traits::input_parameter< bool >::type narm(narmSEXP);
    Rcpp::traits::input_parameter< bool >::type naonly(naonlySEXP);
    Rcpp::traits::input_parameter< bool >::type bemean(bemeanSEXP);
    rcpp_result_gen = Rcpp::wrap(do_focal_sum(d, w, dim, narm, naonly, bemean));
    return rcpp_result_gen;
END_RCPP
}
// getPolygons
NumericMatrix getPolygons(NumericMatrix xyv, NumericVector res, int nodes);
RcppExport SEXP _raster_getPolygons(SEXP xyvSEXP, SEXP resSEXP, SEXP nodesSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< NumericMatrix >::type xyv(xyvSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type res(resSEXP);
    Rcpp::traits::input_parameter< int >::type nodes(nodesSEXP);
    rcpp_result_gen = Rcpp::wrap(getPolygons(xyv, res, nodes));
    return rcpp_result_gen;
END_RCPP
}
// layerize
Rcpp::NumericVector layerize(std::vector<int> d, std::vector<int> cls, bool falsena);
RcppExport SEXP _raster_layerize(SEXP dSEXP, SEXP clsSEXP, SEXP falsenaSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< std::vector<int> >::type d(dSEXP);
    Rcpp::traits::input_parameter< std::vector<int> >::type cls(clsSEXP);
    Rcpp::traits::input_parameter< bool >::type falsena(falsenaSEXP);
    rcpp_result_gen = Rcpp::wrap(layerize(d, cls, falsena));
    return rcpp_result_gen;
END_RCPP
}
// availableRAM
double availableRAM(double ram);
RcppExport SEXP _raster_availableRAM(SEXP ramSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< double >::type ram(ramSEXP);
    rcpp_result_gen = Rcpp::wrap(availableRAM(ram));
    return rcpp_result_gen;
END_RCPP
}
// getMode
double getMode(NumericVector values, int ties);
RcppExport SEXP _raster_getMode(SEXP valuesSEXP, SEXP tiesSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< NumericVector >::type values(valuesSEXP);
    Rcpp::traits::input_parameter< int >::type ties(tiesSEXP);
    rcpp_result_gen = Rcpp::wrap(getMode(values, ties));
    return rcpp_result_gen;
END_RCPP
}
// doSpmin
NumericVector doSpmin(NumericVector x, NumericVector y);
RcppExport SEXP _raster_doSpmin(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(doSpmin(x, y));
    return rcpp_result_gen;
END_RCPP
}
// doSpmax
NumericVector doSpmax(NumericVector x, NumericVector y);
RcppExport SEXP _raster_doSpmax(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(doSpmax(x, y));
    return rcpp_result_gen;
END_RCPP
}
// ppmin
NumericVector ppmin(NumericVector x, NumericVector y, bool narm);
RcppExport SEXP _raster_ppmin(SEXP xSEXP, SEXP ySEXP, SEXP narmSEXP) {
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< bool >::type narm(narmSEXP);
    rcpp_result_gen = Rcpp::wrap(ppmin(x, y, narm));
    return rcpp_result_gen;
END_RCPP
}
// ppmax
NumericVector ppmax(NumericVector x, NumericVector y, bool narm);
RcppExport SEXP _raster_ppmax(SEXP xSEXP, SEXP ySEXP, SEXP narmSEXP) {
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< bool >::type narm(narmSEXP);
    rcpp_result_gen = Rcpp::wrap(ppmax(x, y, narm));
    return rcpp_result_gen;
END_RCPP
}
// doRowMin
NumericVector doRowMin(NumericMatrix x, bool narm);
RcppExport SEXP _raster_doRowMin(SEXP xSEXP, SEXP narmSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< NumericMatrix >::type x(xSEXP);
    Rcpp::traits::input_parameter< bool >::type narm(narmSEXP);
    rcpp_result_gen = Rcpp::wrap(doRowMin(x, narm));
    return rcpp_result_gen;
END_RCPP
}
// doRowMax
NumericVector doRowMax(NumericMatrix x, bool narm);
RcppExport SEXP _raster_doRowMax(SEXP xSEXP, SEXP narmSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< NumericMatrix >::type x(xSEXP);
    Rcpp::traits::input_parameter< bool >::type narm(narmSEXP);
    rcpp_result_gen = Rcpp::wrap(doRowMax(x, narm));
    return rcpp_result_gen;
END_RCPP
}
// aggregate_get
Rcpp::NumericMatrix aggregate_get(Rcpp::NumericMatrix d, Rcpp::NumericVector dims);
RcppExport SEXP _raster_aggregate_get(SEXP dSEXP, SEXP dimsSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< Rcpp::NumericMatrix >::type d(dSEXP);
    Rcpp::traits::input_parameter< Rcpp::NumericVector >::type dims(dimsSEXP);
    rcpp_result_gen = Rcpp::wrap(aggregate_get(d, dims));
    return rcpp_result_gen;
END_RCPP
}
// aggregate_fun
Rcpp::NumericMatrix aggregate_fun(Rcpp::NumericMatrix d, Rcpp::NumericVector dims, bool narm, int fun);
RcppExport SEXP _raster_aggregate_fun(SEXP dSEXP, SEXP dimsSEXP, SEXP narmSEXP, SEXP funSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< Rcpp::NumericMatrix >::type d(dSEXP);
    Rcpp::traits::input_parameter< Rcpp::NumericVector >::type dims(dimsSEXP);
    Rcpp::traits::input_parameter< bool >::type narm(narmSEXP);
    Rcpp::traits::input_parameter< int >::type fun(funSEXP);
    rcpp_result_gen = Rcpp::wrap(aggregate_fun(d, dims, narm, fun));
    return rcpp_result_gen;
END_RCPP
}
// get_area_polygon
Rcpp::NumericVector get_area_polygon(Rcpp::NumericMatrix d, bool lonlat);
RcppExport SEXP _raster_get_area_polygon(SEXP dSEXP, SEXP lonlatSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< Rcpp::NumericMatrix >::type d(dSEXP);
    Rcpp::traits::input_parameter< bool >::type lonlat(lonlatSEXP);
    rcpp_result_gen = Rcpp::wrap(get_area_polygon(d, lonlat));
    return rcpp_result_gen;
END_RCPP
}
// point_distance
Rcpp::NumericVector point_distance(Rcpp::NumericMatrix p1, Rcpp::NumericMatrix p2, bool lonlat, double a, double f);
RcppExport SEXP _raster_point_distance(SEXP p1SEXP, SEXP p2SEXP, SEXP lonlatSEXP, SEXP aSEXP, SEXP fSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< Rcpp::NumericMatrix >::type p1(p1SEXP);
    Rcpp::traits::input_parameter< Rcpp::NumericMatrix >::type p2(p2SEXP);
    Rcpp::traits::input_parameter< bool >::type lonlat(lonlatSEXP);
    Rcpp::traits::input_parameter< double >::type a(aSEXP);
    Rcpp::traits::input_parameter< double >::type f(fSEXP);
    rcpp_result_gen = Rcpp::wrap(point_distance(p1, p2, lonlat, a, f));
    return rcpp_result_gen;
END_RCPP
}
// distanceToNearestPoint
Rcpp::NumericVector distanceToNearestPoint(Rcpp::NumericMatrix d, Rcpp::NumericMatrix p, bool lonlat, double a, double f);
RcppExport SEXP _raster_distanceToNearestPoint(SEXP dSEXP, SEXP pSEXP, SEXP lonlatSEXP, SEXP aSEXP, SEXP fSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< Rcpp::NumericMatrix >::type d(dSEXP);
    Rcpp::traits::input_parameter< Rcpp::NumericMatrix >::type p(pSEXP);
    Rcpp::traits::input_parameter< bool >::type lonlat(lonlatSEXP);
    Rcpp::traits::input_parameter< double >::type a(aSEXP);
    Rcpp::traits::input_parameter< double >::type f(fSEXP);
    rcpp_result_gen = Rcpp::wrap(distanceToNearestPoint(d, p, lonlat, a, f));
    return rcpp_result_gen;
END_RCPP
}
// directionToNearestPoint
Rcpp::NumericVector directionToNearestPoint(Rcpp::NumericMatrix d, Rcpp::NumericMatrix p, bool lonlat, bool degrees, bool from, double a, double f);
RcppExport SEXP _raster_directionToNearestPoint(SEXP dSEXP, SEXP pSEXP, SEXP lonlatSEXP, SEXP degreesSEXP, SEXP fromSEXP, SEXP aSEXP, SEXP fSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< Rcpp::NumericMatrix >::type d(dSEXP);
    Rcpp::traits::input_parameter< Rcpp::NumericMatrix >::type p(pSEXP);
    Rcpp::traits::input_parameter< bool >::type lonlat(lonlatSEXP);
    Rcpp::traits::input_parameter< bool >::type degrees(degreesSEXP);
    Rcpp::traits::input_parameter< bool >::type from(fromSEXP);
    Rcpp::traits::input_parameter< double >::type a(aSEXP);
    Rcpp::traits::input_parameter< double >::type f(fSEXP);
    rcpp_result_gen = Rcpp::wrap(directionToNearestPoint(d, p, lonlat, degrees, from, a, f));
    return rcpp_result_gen;
END_RCPP
}
// dest_point
Rcpp::NumericMatrix dest_point(Rcpp::NumericMatrix xybd, bool lonlat, double a, double f);
RcppExport SEXP _raster_dest_point(SEXP xybdSEXP, SEXP lonlatSEXP, SEXP aSEXP, SEXP fSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< Rcpp::NumericMatrix >::type xybd(xybdSEXP);
    Rcpp::traits::input_parameter< bool >::type lonlat(lonlatSEXP);
    Rcpp::traits::input_parameter< double >::type a(aSEXP);
    Rcpp::traits::input_parameter< double >::type f(fSEXP);
    rcpp_result_gen = Rcpp::wrap(dest_point(xybd, lonlat, a, f));
    return rcpp_result_gen;
END_RCPP
}
// reclassify
Rcpp::NumericVector reclassify(Rcpp::NumericVector d, Rcpp::NumericMatrix rcl, bool dolowest, bool doright, bool doleftright, bool NAonly, double NAval);
RcppExport SEXP _raster_reclassify(SEXP dSEXP, SEXP rclSEXP, SEXP dolowestSEXP, SEXP dorightSEXP, SEXP doleftrightSEXP, SEXP NAonlySEXP, SEXP NAvalSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< Rcpp::NumericVector >::type d(dSEXP);
    Rcpp::traits::input_parameter< Rcpp::NumericMatrix >::type rcl(rclSEXP);
    Rcpp::traits::input_parameter< bool >::type dolowest(dolowestSEXP);
    Rcpp::traits::input_parameter< bool >::type doright(dorightSEXP);
    Rcpp::traits::input_parameter< bool >::type doleftright(doleftrightSEXP);
    Rcpp::traits::input_parameter< bool >::type NAonly(NAonlySEXP);
    Rcpp::traits::input_parameter< double >::type NAval(NAvalSEXP);
    rcpp_result_gen = Rcpp::wrap(reclassify(d, rcl, dolowest, doright, doleftright, NAonly, NAval));
    return rcpp_result_gen;
END_RCPP
}
// do_terrains
std::vector<double> do_terrains(std::vector<double> d, std::vector<int> dim, std::vector<double> res, int unit, std::vector<bool> option, bool geo, std::vector<double> gy);
RcppExport SEXP _raster_do_terrains(SEXP dSEXP, SEXP dimSEXP, SEXP resSEXP, SEXP unitSEXP, SEXP optionSEXP, SEXP geoSEXP, SEXP gySEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< std::vector<double> >::type d(dSEXP);
    Rcpp::traits::input_parameter< std::vector<int> >::type dim(dimSEXP);
    Rcpp::traits::input_parameter< std::vector<double> >::type res(resSEXP);
    Rcpp::traits::input_parameter< int >::type unit(unitSEXP);
    Rcpp::traits::input_parameter< std::vector<bool> >::type option(optionSEXP);
    Rcpp::traits::input_parameter< bool >::type geo(geoSEXP);
    Rcpp::traits::input_parameter< std::vector<double> >::type gy(gySEXP);
    rcpp_result_gen = Rcpp::wrap(do_terrains(d, dim, res, unit, option, geo, gy));
    return rcpp_result_gen;
END_RCPP
}
// doCellFromXY
NumericVector doCellFromXY(int ncols, int nrows, double xmin, double xmax, double ymin, double ymax, NumericVector x, NumericVector y);
RcppExport SEXP _raster_doCellFromXY(SEXP ncolsSEXP, SEXP nrowsSEXP, SEXP xminSEXP, SEXP xmaxSEXP, SEXP yminSEXP, SEXP ymaxSEXP, SEXP xSEXP, SEXP ySEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< int >::type ncols(ncolsSEXP);
    Rcpp::traits::input_parameter< int >::type nrows(nrowsSEXP);
    Rcpp::traits::input_parameter< double >::type xmin(xminSEXP);
    Rcpp::traits::input_parameter< double >::type xmax(xmaxSEXP);
    Rcpp::traits::input_parameter< double >::type ymin(yminSEXP);
    Rcpp::traits::input_parameter< double >::type ymax(ymaxSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type x(xSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type y(ySEXP);
    rcpp_result_gen = Rcpp::wrap(doCellFromXY(ncols, nrows, xmin, xmax, ymin, ymax, x, y));
    return rcpp_result_gen;
END_RCPP
}
// doXYFromCell
NumericMatrix doXYFromCell(unsigned ncols, unsigned nrows, double xmin, double xmax, double ymin, double ymax, NumericVector cell);
RcppExport SEXP _raster_doXYFromCell(SEXP ncolsSEXP, SEXP nrowsSEXP, SEXP xminSEXP, SEXP xmaxSEXP, SEXP yminSEXP, SEXP ymaxSEXP, SEXP cellSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< unsigned >::type ncols(ncolsSEXP);
    Rcpp::traits::input_parameter< unsigned >::type nrows(nrowsSEXP);
    Rcpp::traits::input_parameter< double >::type xmin(xminSEXP);
    Rcpp::traits::input_parameter< double >::type xmax(xmaxSEXP);
    Rcpp::traits::input_parameter< double >::type ymin(yminSEXP);
    Rcpp::traits::input_parameter< double >::type ymax(ymaxSEXP);
    Rcpp::traits::input_parameter< NumericVector >::type cell(cellSEXP);
    rcpp_result_gen = Rcpp::wrap(doXYFromCell(ncols, nrows, xmin, xmax, ymin, ymax, cell));
    return rcpp_result_gen;
END_RCPP
}
// doFourCellsFromXY
NumericMatrix doFourCellsFromXY(int ncols, int nrows, double xmin, double xmax, double ymin, double ymax, NumericMatrix xy, bool duplicates, bool isGlobalLonLat);
RcppExport SEXP _raster_doFourCellsFromXY(SEXP ncolsSEXP, SEXP nrowsSEXP, SEXP xminSEXP, SEXP xmaxSEXP, SEXP yminSEXP, SEXP ymaxSEXP, SEXP xySEXP, SEXP duplicatesSEXP, SEXP isGlobalLonLatSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< int >::type ncols(ncolsSEXP);
    Rcpp::traits::input_parameter< int >::type nrows(nrowsSEXP);
    Rcpp::traits::input_parameter< double >::type xmin(xminSEXP);
    Rcpp::traits::input_parameter< double >::type xmax(xmaxSEXP);
    Rcpp::traits::input_parameter< double >::type ymin(yminSEXP);
    Rcpp::traits::input_parameter< double >::type ymax(ymaxSEXP);
    Rcpp::traits::input_parameter< NumericMatrix >::type xy(xySEXP);
    Rcpp::traits::input_parameter< bool >::type duplicates(duplicatesSEXP);
    Rcpp::traits::input_parameter< bool >::type isGlobalLonLat(isGlobalLonLatSEXP);
    rcpp_result_gen = Rcpp::wrap(doFourCellsFromXY(ncols, nrows, xmin, xmax, ymin, ymax, xy, duplicates, isGlobalLonLat));
    return rcpp_result_gen;
END_RCPP
}

RcppExport SEXP _rcpp_module_boot_spmod();

static const R_CallMethodDef CallEntries[] = {
    {"_raster_doBilinear", (DL_FUNC) &_raster_doBilinear, 4},
    {"_raster_broom", (DL_FUNC) &_raster_broom, 5},
    {"_raster_doCellFromRowCol", (DL_FUNC) &_raster_doCellFromRowCol, 4},
    {"_raster_do_clamp", (DL_FUNC) &_raster_do_clamp, 3},
    {"_raster_do_edge", (DL_FUNC) &_raster_do_edge, 5},
    {"_raster_do_focal_fun", (DL_FUNC) &_raster_do_focal_fun, 5},
    {"_raster_do_focal_get", (DL_FUNC) &_raster_do_focal_get, 3},
    {"_raster_do_focal_sum", (DL_FUNC) &_raster_do_focal_sum, 6},
    {"_raster_getPolygons", (DL_FUNC) &_raster_getPolygons, 3},
    {"_raster_layerize", (DL_FUNC) &_raster_layerize, 3},
    {"_raster_availableRAM", (DL_FUNC) &_raster_availableRAM, 1},
    {"_raster_getMode", (DL_FUNC) &_raster_getMode, 2},
    {"_raster_doSpmin", (DL_FUNC) &_raster_doSpmin, 2},
    {"_raster_doSpmax", (DL_FUNC) &_raster_doSpmax, 2},
    {"_raster_ppmin", (DL_FUNC) &_raster_ppmin, 3},
    {"_raster_ppmax", (DL_FUNC) &_raster_ppmax, 3},
    {"_raster_doRowMin", (DL_FUNC) &_raster_doRowMin, 2},
    {"_raster_doRowMax", (DL_FUNC) &_raster_doRowMax, 2},
    {"_raster_aggregate_get", (DL_FUNC) &_raster_aggregate_get, 2},
    {"_raster_aggregate_fun", (DL_FUNC) &_raster_aggregate_fun, 4},
    {"_raster_get_area_polygon", (DL_FUNC) &_raster_get_area_polygon, 2},
    {"_raster_point_distance", (DL_FUNC) &_raster_point_distance, 5},
    {"_raster_distanceToNearestPoint", (DL_FUNC) &_raster_distanceToNearestPoint, 5},
    {"_raster_directionToNearestPoint", (DL_FUNC) &_raster_directionToNearestPoint, 7},
    {"_raster_dest_point", (DL_FUNC) &_raster_dest_point, 4},
    {"_raster_reclassify", (DL_FUNC) &_raster_reclassify, 7},
    {"_raster_do_terrains", (DL_FUNC) &_raster_do_terrains, 7},
    {"_raster_doCellFromXY", (DL_FUNC) &_raster_doCellFromXY, 8},
    {"_raster_doXYFromCell", (DL_FUNC) &_raster_doXYFromCell, 7},
    {"_raster_doFourCellsFromXY", (DL_FUNC) &_raster_doFourCellsFromXY, 9},
    {"_rcpp_module_boot_spmod", (DL_FUNC) &_rcpp_module_boot_spmod, 0},
    {NULL, NULL, 0}
};

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