[Rcpp-devel] RInside constructor calls srand
Hi Dirk:
On Sun, Nov 6, 2011 at 10:22 AM, Dirk Eddelbuettel <edd at debian.org> wrote:
I now see where you are coming from. Adding 'RInside' to an existing program
alters the (non-R-generated) random number stream of that program. ?Is that
correct?
In that case the sequence
? ? ? ?RInside r(0, NULL);
? ? ? ?srand(1);
? ? ? ?r.parseEvalQ("set.seed(0)");
? ? ? ?cout << rand() << endl;
? ? ? ?return 0;
may work as you now fix the RNG you care about (from the C library) after
setting up RInside.
Yes, this makes my program behave as I want. My main point is that the srand call in the RInside constructor is sneaky and users like me won't be aware of it. Maybe it would be better to force the user to initialize the random seed manually? Joseph