[Rcpp-devel] RInside constructor calls srand
Joseph Xu
josephzxu at gmail.com
Mon Nov 7 19:48:19 CET 2011
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
More information about the Rcpp-devel
mailing list