The dqrng package provides several fast random number
generators as C++ header only libraries. In addition fast functions for
generating random numbers according to a uniform, normal and exponential
distribution are provided. These functions are exported to R and as a C++
interface and are modeled after the base functions
set.seed, RNGkind, runif,
rnorm, and rexp.
dqrunif, dqrnorm, and dqrexp return a numeric vector of length n.
Details
Supported RNG kinds:
Mersenne-Twister
The 64 bit variant of the well-known Mersenne-Twister,
which is also used as default. This is a conservative default that allows
you to take advantage of the fast distribution functions provided by dqrng
while staying close to R's default RNG (32 bit Mersenne-Twister).
pcg64
The default 64 bit variant from the PCG family developed by
Melissa O'Neill. See http://www.pcg-random.org for more details.
Xoroshiro128+ and Xoshiro256+
RNGs developed by David Blackman and
Sebastiano Vigna. They are used as default RNGs in Erlang and Lua. See
http://xoshiro.di.unimi.it/ for more details.
The functions dqrnorm and dqrexp use the Ziggurat algorithm as
provided by boost.random.