# [Rcpp-devel] as cube

MISRA, SANJOG sanjog.misra at simon.rochester.edu
Mon Jun 6 19:15:33 CEST 2011

```Richard,

I usually use a list for this (see below). If anybody has a simpler way,
I would love to learn about it...

Sanjog

src.cube = '

Rcpp::List aL(aL_);

int nr = Rcpp::as<int>(nr_);

int nc = Rcpp::as<int>(nc_);

int ns = Rcpp::as<int>(ns_);

arma::cube a(nr,nc,ns);

for(int i=0; i<ns; i++) {

a.slice(i) = Rcpp::as<arma::mat>(aL(i));

}

return Rcpp::wrap(a);

'

fx = cxxfunction(signature(aL_="list", nr_="integer", nc_="integer",

aR = array(1:27,c(3,3,3))

aL = NULL;

for(i in 1:3)   aL[[i]] = aR[,,i]

fx(aL,3,3,3)

Sanjog Misra

Associate Professor of Marketing and Applied Statistics

Area Coordinator, Applied Statistics

University of Rochester

Rochester, NY 14627

P: 585.275.8920

F: 585.273.1140

From: rcpp-devel-bounces at r-forge.wu-wien.ac.at
[mailto:rcpp-devel-bounces at r-forge.wu-wien.ac.at] On Behalf Of Richard
Chandler
Sent: Monday, June 06, 2011 11:13 AM
To: rcpp-devel
Subject: [Rcpp-devel] as cube

Hi,

I would like to do something like this:

src.cube <- "
arma::cube a = as<arma::cube>(aR);
return wrap(a);
"
fx <- cxxfunction(signature(aR="array"), src.cube,
fx(array(1:27, c(3,3,3)))

But it fails. Can someone suggest a good alternative? I tried to create
the cube on the C++ side and use .fill() to fill it with a
NumericVector, but this did not work either.

Thanks,
Richard

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20110606/325d5634/attachment-0001.htm>
```