Hi Dirk,

sorry for my premature judgement. You are right. Doing it the way you suggest 
below, should indeed give a very fast implementation, using the same memory. 

In regard to the C++11 standard in R: This is just constricting the 
possibilities R gives, in my opinion. And the fact, that most people in HPC use 
either Fortran or C++ - only a few use C - seems to point to the adequacy of 
C++ in this area of programming, which becomes more and more important today. 
Furthermore, C++ is an OO language and as R implements OOP as well, it seems to 
me a little inconsistent, that the language extending it is entirely not OO. 

Let us see how the things develop in near future. I think with Rcpp and 
RcppArmadillo R programmers got a powerful and still comfortable tool at hand 
and code/packages using C++ will accelerate. I myself use RcppArmadillo for a 
package that performs Bayesian Simulation and relies on S4 classes in R. It 
maps S4 objects to C++ objects, which also lets developers, who want to extend 
the package later on, understand the code more easily. Furthermore readability 
is enhanced in general, when using classes and I do not have to mention here Cs 
sometimes dangerous pointer arithmetic. 

Well enough here! First version of my package will rely on C++99 standard to 
make it possible to get installed on every R framework. Armadillo will give its 
warnings towards using gcc 4.7.1. I just hope, it runs with gcc 4.4 (my god, 
this version is really old)

Best
Simon

  
On Mar 3, 2013, at 2:02 PM, Dirk Eddelbuettel <e...@debian.org> wrote:

> 
> Simon,
> 
> On 3 March 2013 at 11:52, Simon Zehnder wrote:
> | Hi Dirk,
> | 
> | I recognized the function rnorm in Rcpp. But as I work most times with 
> RcppArmadillo and Armadillo objects I wanted to avoid constructing 
> NumericMatrix objects, fill them and convert them to arma::mat objects. 
> Instead I decided to immediately generate arma::mat objects and fill them - 
> which was impossible without a loop when using a controlled random number 
> generation (for instance with the possibility to set the seed).
> 
> You need just two lines (one to call rnorm, and one use the result to
> instantiate an arma mat using the constructor using the same memory). No
> loop. One call to the RNG.
> 
> | I would like to ask something connected to the new feature:
> | The C++ standard library (random) uses specific functions for random number 
> generation (for example std::gamma_distribution) , that are only available 
> when using a compiler supporting the C++11 standard. As far as I know R uses 
> C++99. So in a package these functions would be useless when redistribution 
> should be made possible. Do you know about some comments by the R core team 
> regarding the C++11 standard? Does it come soon?
> 
> R being a C project, there aren't any strong C++ advocates on the R Core
> team though some (like Duncan Murdoch) use it.  The main blocker is CRAN
> which is not very forthcoming in communications, and it seems to be one (very
> prominent) CRAN maintainer and R Core member in particular...
> 
> Dirk
> 
> -- 
> Dirk Eddelbuettel | e...@debian.org | http://dirk.eddelbuettel.com  

_______________________________________________
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