JJ> Yes, RNGScope isn't safe by itself. You can use it via attributes (and we JJ> make sure to use it correctly) or you could use this pattern e.g. if you JJ> are planning to return a NumericVector: JJ> JJ> NumericVector vec(20); // or whatever size, the important thing is JJ> allocating the return SEXP before RNGScope JJ> JJ> RNGScope rngScope; JJ> JJ> // do your thing JJ> JJ> JJ> return vec;
OK thanks. That's definitely worth knowing. Might be a cause for trouble for others too, especially since misuse (i.e. other ordering) doesn't seem to show any effects in many cases. DE> RNGScope is not for for seed setting, it is for RNG 'state sanity'. See DE> Section 6.3 of 'Writing R Extensions' -- worst case you can just call DE> GetRNGstate() and PutRNGstate() by hand. Though we never had to DE> recommend that yet. Yep, sorry for the misuse of language. And I do understand going back to GetRNGstate() and PutRNGstate() is a bit old school; but I can definitely confirm that it seems to be safer than resorting do the constructor/destuctor magic. Best, /g _______________________________________________ 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