On 28 July 2015 at 17:53, Rguy wrote: | I attempted to implement the call by reference example on page 200 of Seamless | R and C++, as follows: | | #include <Rcpp.h> | using namespace Rcpp; | | // [[Rcpp::export]] | void absC(double & x) { | if (x < 0) x = -x; | } | | /*** R | x = -1 | absC(x) | x | */ | | Unfortunately, x remains equal to -1. | Platforms: Windows 7, "R version 3.1.3 Patched (2015-03-16 r68103)". | Please advise.
An (atomic) double does not exist in R, so you are _always_ forcing a copy, which works against your intent here. Try replacing double with Rcpp::NumericVector. Dirk -- http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org _______________________________________________ Rcpp-devel mailing list Rcpp-devel@lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel