|
| | BOOST_STATIC_CONSTANT (bool, has_fixed_range=false) |
| |
| | BOOST_STATIC_CONSTANT (int, shift1=s1) |
| |
| | BOOST_STATIC_CONSTANT (int, shift2=s2) |
| |
| | xor_combine_engine () |
| | Constructors a xor_combine_engine by default constructing both base generators. More...
|
| |
| | xor_combine_engine (const base1_type &rng1, const base2_type &rng2) |
| | Constructs a xor_combine by copying two base generators. More...
|
| |
| | BOOST_RANDOM_DETAIL_ARITHMETIC_CONSTRUCTOR (xor_combine_engine, result_type, v) |
| | Constructs a xor_combine_engine, seeding both base generators with v. More...
|
| |
| | BOOST_RANDOM_DETAIL_SEED_SEQ_CONSTRUCTOR (xor_combine_engine, SeedSeq, seq) |
| | Constructs a xor_combine_engine, seeding both base generators with values produced by seq. More...
|
| |
| template<class It > |
| | xor_combine_engine (It &first, It last) |
| | Constructs a xor_combine_engine, seeding both base generators with values from the iterator range [first, last) and changes first to point to the element after the last one used. More...
|
| |
| void | seed () |
| | Calls seed() for both base generators. More...
|
| |
| | BOOST_RANDOM_DETAIL_ARITHMETIC_SEED (xor_combine_engine, result_type, v) |
| | seeds both base generators with v. More...
|
| |
| | BOOST_RANDOM_DETAIL_SEED_SEQ_SEED (xor_combine_engine, SeedSeq, seq) |
| | seeds both base generators with values produced by seq. More...
|
| |
| template<class It > |
| void | seed (It &first, It last) |
| | seeds both base generators with values from the iterator range [first, last) and changes first to point to the element after the last one used. More...
|
| |
| const base1_type & | base1 () const |
| | Returns the first base generator. More...
|
| |
| const base2_type & | base2 () const |
| | Returns the second base generator. More...
|
| |
| result_type | operator() () |
| | Returns the next value of the generator. More...
|
| |
| template<class Iter > |
| void | generate (Iter first, Iter last) |
| | Fills a range with random values. More...
|
| |
| void | discard (boost::uintmax_t z) |
| | Advances the state of the generator by z. More...
|
| |
| | BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR (os, xor_combine_engine, s) |
| | Writes the textual representation of the generator to a std::ostream. More...
|
| |
| | BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR (is, xor_combine_engine, s) |
| | Reads the textual representation of the generator from a std::istream. More...
|
| |
| | BOOST_RANDOM_DETAIL_EQUALITY_OPERATOR (xor_combine_engine, x, y) |
| | Returns true if the two generators will produce identical sequences. More...
|
| |
template<class URNG1, int s1, class URNG2, int s2>
class boost::random::xor_combine_engine< URNG1, s1, URNG2, s2 >
Instantiations of xor_combine_engine model a .
To produce its output it invokes each of the base generators, shifts their results and xors them together.
template<class URNG1 , int s1, class URNG2 , int s2>
template<class It >
Constructs a xor_combine_engine, seeding both base generators with values from the iterator range [first, last) and changes first to point to the element after the last one used.
If there are not enough elements in the range to seed both generators, throws std::invalid_argument.
template<class URNG1 , int s1, class URNG2 , int s2>
template<class It >
seeds both base generators with values from the iterator range [first, last) and changes first to point to the element after the last one used.
If there are not enough elements in the range to seed both generators, throws std::invalid_argument.