29 Numerics library [numerics]

29.6 Random number generation [rand]

29.6.1 Requirements [rand.req]

29.6.1.3 Uniform random bit generator requirements [rand.req.urng]

A uniform random bit generator g of type G is a function object returning unsigned integer values such that each value in the range of possible results has (ideally) equal probability of being returned.
[Note
:
The degree to which g's results approximate the ideal is often determined statistically.
end note
]
A class G satisfies the requirements of a uniform random bit generator if the expressions shown in Table 98 are valid and have the indicated semantics, and if G also satisfies all other requirements of this section [rand.req.urng].
In that Table and throughout this section:
  1. a)
    T is the type named by G's associated result_­type, and
  2. b)
    g is a value of G.
Table 98 — Uniform random bit generator requirements
Expression
Return type
Pre/post-condition
Complexity
G​::​result_­type
T
T is an unsigned integer type ([basic.fundamental]).
compile-time
g()
T
Returns a value in the closed interval [G​::​min(), G​::​max()].
amortized constant
G​::​min()
T
Denotes the least value potentially returned by operator().
compile-time
G​::​max()
T
Denotes the greatest value potentially returned by operator().
compile-time
The following relation shall hold: G​::​min() < G​::​max().