dqRNGkind {dqrng} | R Documentation |

The `dqrng`

package provides several fast random number
generators together with fast functions for generating random numbers
according to a uniform, normal and exponential distribution. These
functions are modeled after the `base`

functions
`set.seed`

, `RNGkind`

, `runif`

,
`rnorm`

, and `rexp`

.

```
dqRNGkind(kind, normal_kind = "ignored")
dqrunif(n, min = 0, max = 1)
dqrnorm(n, mean = 0, sd = 1)
dqrexp(n, rate = 1)
dqset.seed(seed, stream = NULL)
```

`kind` |
string specifying the RNG (see details) |

`normal_kind` |
ignored; included for compatibility with |

`n` |
number of observations |

`min` |
lower limit of the uniform distribution |

`max` |
upper limit of the uniform distribution |

`mean` |
mean value of the normal distribution |

`sd` |
standard deviation of the normal distribution |

`rate` |
rate of the exponential distribution |

`seed` |
integer scalar to seed the random number generator, or an integer vector of length 2 representing a 64-bit seed. Maybe |

`stream` |
integer used for selecting the RNG stream; either a scalar or a vector of length 2 |

Supported RNG kinds:

- pcg64
The default 64 bit variant from the PCG family developed by Melissa O'Neill. See https://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 https://xoshiro.di.unimi.it/ for more details.

- Threefry
The 64 bit version of the 20 rounds Threefry engine as provided by

`sitmo-package`

Xoroshiro128+ is the default since it is the fastest generator provided by this package.

The functions `dqrnorm`

and `dqrexp`

use the Ziggurat algorithm as
provided by `boost.random`

.

See `generateSeedVectors`

for rapid generation of integer-vector
seeds that provide 64 bits of entropy. These allow full exploration of
the state space of the 64-bit RNGs provided in this package.

If the provided `seed`

is `NULL`

, a seed is genenrated from R's RNG
without state alteration.

`dqrunif`

, `dqrnorm`

, and `dqrexp`

return a numeric vector of length `n`

.

`set.seed`

, `RNGkind`

, `runif`

,
`rnorm`

, and `rexp`

```
library(dqrng)
# Set custom RNG.
dqRNGkind("Xoshiro256+")
# Use an integer scalar to set a seed.
dqset.seed(42)
# Use integer scalars to set a seed and the stream.
dqset.seed(42, 123)
# Use an integer vector to set a seed.
dqset.seed(c(31311L, 24123423L))
# Use an integer vector to set a seed and a scalar to select the stream.
dqset.seed(c(31311L, 24123423L), 123)
# Random sampling from distributions.
dqrunif(5, min = 2, max = 10)
dqrexp(5, rate = 4)
dqrnorm(5, mean = 5, sd = 3)
```

[Package *dqrng* version 0.3.0 Index]