Each function instantiated from the template described in this section [rand.util.canonical] maps the result of one or more invocations of a supplied uniform random bit generator g to one member of the specified RealType such that, if the values gi produced by g are uniformly distributed, the instantiation's results tj, 0≤tj<1, are distributed as uniformly as possible as specified below.
[ Note: Obtaining a value in this way can be a useful step in the process of transforming a value generated by a uniform random bit generator into a value that can be delivered by a random number distribution. — end note ]
template<class RealType, size_t bits, class URBG> RealType generate_canonical(URBG& g);
Complexity: Exactly k=max(1,⌈b/log2R⌉) invocations of g, where b273 is the lesser of numeric_limits<RealType>::digits and bits, and R is the value of g.max()−g.min()+1.
Effects: Invokes g() k times to obtain values g0,…,gk−1, respectively. Calculates a quantity
S=k−1∑i=0(gi−g.min())⋅Ri
using arithmetic of type RealType.
Throws: What and when g throws.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4