View source code
Display the source code in std/random.d from which this page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a Bugzilla 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 local clone.

Function std.random.uniformDistribution

Generates a uniform probability distribution of size n, i.e., an array of size n of positive numbers of type F that sum to 1. If useThis is provided, it is used as storage.

F[] uniformDistribution(F) (
  size_t n,
  F[] useThis = null
)
if (isFloatingPoint!F);

Example

import std.algorithm.iteration : reduce;
import std.math.operations : isClose;

auto a = uniformDistribution(5);
writeln(a.length); // 5
assert(isClose(reduce!"a + b"(a), 1));

a = uniformDistribution(10, a);
writeln(a.length); // 10
assert(isClose(reduce!"a + b"(a), 1));

Authors

Andrei Alexandrescu Masahiro Nakagawa (Xorshift random generator) Joseph Rushton Wakeling (Algorithm D for random sampling) Ilya Yaroshenko (Mersenne Twister implementation, adapted from mir-random)

License

Boost License 1.0.