Greetings and Salutations, There is also the boost header libraries that you can use:
https://www.boost.org/doc/libs/1_67_0/doc/html/boost_random.html Gallery example: http://gallery.rcpp.org/articles/timing-normal-rngs/ If you need parallel draws, see the sitmo engine: https://github.com/coatless/sitmo Also, you may wish to consider the rTRNG library: https://github.com/miraisolutions/rTRNG Sincerely, JJB From: <[email protected]> on behalf of Yixuan Qiu <[email protected]> Date: Monday, April 16, 2018 at 11:53 AM To: Murray Efford <[email protected]> Cc: "[email protected]" <[email protected]> Subject: Re: [Rcpp-devel] Distribution functions threadsafe in RcppParallel? For your information, here is a header-only library for distribution functions: https://github.com/kthohr/stats The API seems to be designed to mimic the R API. Best, Yixuan 2018-04-15 23:56 GMT-04:00 Murray Efford <[email protected]<mailto:[email protected]>>: Thanks. This is all happening inside a package for CRAN, so I would rather avoid more complexity and potential platform-dependence, but I also cannot afford for it to break unpredictably (or otherwise). Murray On Mon, Apr 16, 2018 at 3:33 PM, Dirk Eddelbuettel <[email protected]<mailto:[email protected]>> wrote: On 16 April 2018 at 13:41, Murray Efford wrote: | I read in the RcppParallel blurb "The code that you write within parallel | workers should not call the R or Rcpp API in any fashion", which is | admirably clear. However, it leaves me without threadsafe access to | distribution functions (dpois, dbinom etc.). In practice, so far, these R | API calls seem to work for me, but can they be trusted? Is there an | alternative? That's a fair question. They may work, as they are also exposed / available via the standalone R math library (see Writing R Extensions). As such, they may not required memory allocations or other interactions with the R process and hence "not call R ... in any fashion" per the above. But we can't say for sure. If you want to be safe, maybe stick to equivalent functions from a non-R source: C++11, Boost, ... Dirk | (It seems this question must have arisen before, but I haven't found an | answer) -- http://dirk.eddelbuettel.com | @eddelbuettel | [email protected]<mailto:[email protected]> _______________________________________________ Rcpp-devel mailing list [email protected]<mailto:[email protected]> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel -- Yixuan Qiu <[email protected]<mailto:[email protected]>> Department of Statistics, Purdue University
_______________________________________________ Rcpp-devel mailing list [email protected] https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel
