我试图在rcpp中写一个函数r(d,n).该函数从正态分布N(0,d)返回n个随机抽取.应该很好地定义这个函数,因此只要d和n不改变它们的值,函数就应该返回相同的draw.
如果d被限制为整数,这将不会成为问题,在这种情况下,我可以设置种子并完成工作
// set seed
// [[Rcpp::export]]
void set_seed(unsigned int seed) {
Rcpp::Environment base_env("package:base");
Rcpp::Function set_seed_r = base_env["set.seed"];
set_seed_r(seed);
}
// function r(d, n)
// [[Rcpp::export]]
vec randdraw(int d, int n){
set_seed(d);
vec out = randn(n);
return out;
}
Run Code Online (Sandbox Code Playgroud)
但显然我不想将d限制为整数.理想情况下,d应该是双倍的.有什么想法吗?谢谢!