On 20 January 2012 at 10:13, Chris DuBois wrote: | Hi all, | | There was some discussion a few weeks ago about array objects. Dirk pointed | out that one can construct a 3d array with dims (5,3,4) using IntegerVector( | Dimension( 5,3,4 ) ). This works, but this doesn't seem to work for creating | 4d arrays. The unit tests show examples of constructing 1, 2, and 3 dimension | arrays (in runit.Vector.R). | | Is this feature hidden or unimplemented? If unimplemented, is there a work | around or a way to contribute?
Hmpf. There seems to minimal support, eg you can create an Rcpp::Dimension object which can then be used to create a Rcpp::NumericVector: R> library(inline) R> R> f <- cxxfunction(signature(v="any"), plugin="Rcpp", body=' + Rcpp::NumericVector X(Rcpp::Dimension(v)); + return R_NilValue; + '); R> f(rep(2,4)) NULL R> ... but compilation of Rcpp::wrap() trying to return it fails. I needed something similar recently and just used RcppArmadillo's 'Cubes' (for 3d) inside Fields (which is Matlab calls cells, I believe). But that was just for lookup, so you could do with Rcpp::Lists too. I'd call this are in Rcpp 'somewhat underdeveloped' ... If someone wants to contribute, go have at it. Dirk -- "Outside of a dog, a book is a man's best friend. Inside of a dog, it is too dark to read." -- Groucho Marx _______________________________________________ Rcpp-devel mailing list [email protected] https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel
