我正在使用R中的Armadillo C++库中的随机数生成器,Armadillo允许高性能计算矩阵和向量。但是,我无法确定它实际上正在实现哪个随机数生成器。
Rcpp Armadillo到底使用的是哪个随机数生成器?
我正在使用R中的Armadillo C++库中的随机数生成器,Armadillo允许高性能计算矩阵和向量。但是,我无法确定它实际上正在实现哪个随机数生成器。
Rcpp Armadillo到底使用的是哪个随机数生成器?
std::rand()
,尽管似乎RcppArmadillo使用R中的RNG作为备用(当未选择C++11以使C++11基于的RNG不可用时),这避免了使用旧的C++98基于的std::rand()
。1
“对于C++11,使用其库中包含的RNG。” - 这是指C++11的<random>
库。// using this define makes the R RNG have precedent over both the
// C++11-based RNG provided by Armadillo, as well as the C++98-based
// fallback.
//
// One can use the C++11-based on by commenting out the following
// #define and also selecting C++11 (eg via src/Makevars* or the
// DESCRIPTION file) and/or defining #define-ing ARMA_USE_CXX11_RNG
#define ARMA_RNG_ALT RcppArmadillo/Alt_R_RNG.h
这将启用 R RNGs 作为 RcppArmadillo 的引擎。
1 R-bloggers | RcppArmadillo 0.4.450.1.0
翻译为:1 {{链接1:R-bloggers | RcppArmadillo 0.4.450.1.0}}