[Rcpp-devel] R Session Sometimes Aborts
alexilich93 at gmail.com
Thu Dec 16 16:17:34 CET 2021
Thanks everyone for helping me figure this out. Within terra::focalCpp
which handles the iteration over small subsets of the data there is a test
iteration that occurs which uses the data that is numbers 1-number of
elements in the window (for a 3x7 window that'd be 1-21). Since the
function I'm using is a bit odd in that the data refer to indices in a
separate matrix (e.g. in this example a 15x15 matrix), the test data was
leading to the out of bounds error when the number of elements (21) was
greater than the size of that other matrix. Robert and I can figure out the
rest on github so that the 2 functions play nice together.
On Wed, Dec 15, 2021 at 6:24 PM Dirk Eddelbuettel <edd at debian.org> wrote:
> On 15 December 2021 at 12:30, Robert J. Hijmans wrote:
> | Dirk thanks very much for the help. And sorry, Alex, I misspoke. I meant
> | say that Rcpp will coerce a R "numeric" (vector) to an
> | "Rcpp::IntegerVector" if you ask it to do so (and that is what happened
> | the context we were discussing).
> Exactly. And it will be no comfort to Alex who has to chase this by hand
> for those of us old enough to C/C++ time in (whole) decades, it really just
> smells *very much* like an old-fashioned indexing error. Which is why
> valgrind was already a good idea.
> Minor hint:
> Rcpp::stop("Something here including %d or %s or ... formatting", a, b);
> is a tad more Rcpp-idiomatic, and errors. We now have Rcpp::message(...)
> just do the printing (in a suppressable way). C API of R of course still
> https://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Rcpp-devel