Le 17/08/10 07:43, baptiste auguie a écrit :
Hi,

On 17 August 2010 03:24, Dirk Eddelbuettel<e...@debian.org>  wrote:

On 16 August 2010 at 19:43, Dirk Eddelbuettel wrote:

[...]

The only trouble is that nobody has written the corresponding 'glue' code to
make

      arma::cx_vec a1(y1.begin(), y1.size(), false);

happen: create an Armadillo complex vector from an Rcpp::ComplexVector.  We
can init by scalar size, what you'd need to insert for now is a simply (and
very pedestrian) copy-loop.

I'm confused, isn't

  arma::cx_colvec a1 = Rcpp::as<  arma::cx_vec>( y1 );

aimed at doing this kind of conversion? (that's what I use, following
Romain's tip)

baptiste

I don't think you are confused. This works well, but it does require some extra copying, which Dirk was trying to spare.

Using the "advanced" constructor in armadillo means that both the ComplexVector and the cx_vec use the same memory. although it says loud and clear in armadillo documentation :

"""
This is faster, but can be dangerous unless you know what you're doing!
"""

Romain

--
Romain Francois
Professional R Enthusiast
+33(0) 6 28 91 30 30
http://romainfrancois.blog.free.fr
|- http://bit.ly/bzoWrs : Rcpp svn revision 2000
|- http://bit.ly/b8VNE2 : Rcpp at LondonR, oct 5th
`- http://bit.ly/aAyra4 : highlight 0.2-2

_______________________________________________
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

Reply via email to