Report a bug
If you spot a problem with this page, click here to create a GitHub issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using a local clone.

Mir Random

Professional Random Number Generators.

The following table is a quick reference guide for which Mir Random modules to use for a given category of functionality.

Modules Description
    Basic API
mir.random Basic API to generate random numbers. Contains generic rand function that generates real, integral, boolean, and enumerated uniformly distributed values. Publicly includes mir.random.engine.
    Random Variables
mir.random.variable Random variables for uniform, exponential, gamma, normal, and other distributions.
mir.random.ndvariable Random variables for sphere, simplex, multivariate normal, and other multidimensional distributions.
    Integration with Phobos
mir.random.algorithm Random ndslices and ranges.
mir.random mir.random.PhobosRandom!Engine can be used to extend any Mir random number generator to also be a Phobos-style random number generator.
    Entropy Generators
mir.random.engine unpredictableSeed, Random alias, common engine API.
mir.random.engine.linear_congruential Linear Congruential generator.
mir.random.engine.mersenne_twister Mersenne Twister generator.
mir.random.engine.pcg Permuted Congruential generator.
mir.random.engine.splitmix SplitMix64 generator and bit mixers.
mir.random.engine.xorshift xorshift1024*φ, xorshift64*/32, and xorshift generators.
mir.random.engine.xoshiro xoshiro256**, 32-bit xoshiro128**, xoroshiro128+ generators.
Copyright: Copyright © 2016-, Ilya Yaroshenko.