|
| BOOST_STATIC_CONSTANT (bool, has_fixed_range=false) |
|
| rand48 () |
| Seeds the generator with the default seed. More...
|
|
| BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR (rand48, result_type, x0) |
| Constructs a generator with x(0) := (x0 << 16) | 0x330e. More...
|
|
| BOOST_RANDOM_DETAIL_SEED_SEQ_CONSTRUCTOR (rand48, SeedSeq, seq) |
| Seeds the generator with values produced by seq.generate() . More...
|
|
template<class It > |
| rand48 (It &first, It last) |
| Seeds the generator using values from an iterator range, and updates first to point one past the last value consumed. More...
|
|
void | seed () |
| Seeds the generator with the default seed. More...
|
|
| BOOST_RANDOM_DETAIL_ARITHMETIC_SEED (rand48, result_type, x0) |
| Changes the current value x(n) of the generator to (x0 << 16) | 0x330e. More...
|
|
template<class It > |
void | seed (It &first, It last) |
| Seeds the generator using values from an iterator range, and updates first to point one past the last value consumed. More...
|
|
| BOOST_RANDOM_DETAIL_SEED_SEQ_SEED (rand48, SeedSeq, seq) |
| Seeds the generator with values produced by seq.generate() . More...
|
|
uint32_t | operator() () |
| Returns the next value of the generator. More...
|
|
void | discard (boost::uintmax_t z) |
| Advances the state of the generator by z . More...
|
|
template<class Iter > |
void | generate (Iter first, Iter last) |
| Fills a range with random values. More...
|
|
|
template<class CharT , class Traits > |
std::basic_ostream< CharT,
Traits > & | operator<< (std::basic_ostream< CharT, Traits > &os, const rand48 &r) |
| Writes a rand48 to a std::ostream . More...
|
|
template<class CharT , class Traits > |
std::basic_istream< CharT,
Traits > & | operator>> (std::basic_istream< CharT, Traits > &is, rand48 &r) |
| Reads a rand48 from a std::istream . More...
|
|
bool | operator== (const rand48 &x, const rand48 &y) |
| Returns true if the two generators will produce identical sequences of values. More...
|
|
bool | operator!= (const rand48 &x, const rand48 &y) |
| Returns true if the two generators will produce different sequences of values. More...
|
|
Class rand48
models a .
It uses the linear congruential algorithm with the parameters a = 0x5DEECE66D, c = 0xB, m = 2**48. It delivers identical results to the lrand48()
function available on some systems (assuming lcong48 has not been called).
It is only available on systems where uint64_t
is provided as an integral type, so that for example static in-class constants and/or enum definitions with large uint64_t
numbers work.