![]() |
Home | Libraries | People | FAQ | More |
boost::random::subtract_with_carry_engine
// In header: <boost/random/subtract_with_carry.hpp> template<typename IntType, w, s, r> class subtract_with_carry_engine { public: // types typedef ; // construct/copy/destruct (); (); template<typename SeedSeq> (); template<typename It> (, ); // public member functions (); (); template<typename SeedSeq> (); template<typename It> (, ); (); (); template<typename It> (, ); // public static functions (); (); // friend functions template<typename CharT, typename Traits> (, subtract_with_carry_engine &); template<typename CharT, typename Traits> (, subtract_with_carry_engine &); (subtract_with_carry_engine &, subtract_with_carry_engine &); (subtract_with_carry_engine &, subtract_with_carry_engine &); // public data members static word_size; static long_lag; static short_lag; static default_seed; static has_fixed_range; static modulus; };
Instantiations of subtract_with_carry_engine
model a pseudo-random number generator . The algorithm is described in
"A New Class of Random Number Generators", George Marsaglia and Arif Zaman, Annals of Applied Probability, Volume 1, Number 3 (1991), 462-480.
subtract_with_carry_engine
public
construct/copy/destruct();
Constructs a new
and seeds it with the default seed. subtract_with_carry_engine
( value);
Constructs a new
and seeds it with subtract_with_carry_engine
value
.
template<typename SeedSeq> ( seq);
Constructs a new
and seeds it with values produced by subtract_with_carry_engine
seq.generate()
.
template<typename It> ( first, last);
Constructs a new
and seeds it with values from a range. first is updated to point one past the last value consumed. If there are not enough elements in the range to fill the entire state of the generator, throws subtract_with_carry_engine
std::invalid_argument
.
subtract_with_carry_engine
public member functions();
Seeds the generator with the default seed.
( value);
template<typename SeedSeq> ( seq);
Seeds the generator with values produced by seq.generate()
.
template<typename It> ( first, last);
Seeds the generator with values from a range. Updates first
to point one past the last consumed value. If the range does not contain enough elements to fill the entire state of the generator, throws std::invalid_argument
.
();
Returns the next value of the generator.
( z);
Advances the state of the generator by z
.
template<typename It> ( first, last);
Fills a range with random values.
subtract_with_carry_engine
friend functionstemplate<typename CharT, typename Traits> ( os, subtract_with_carry_engine & f);
Writes a
to a subtract_with_carry_engine
std::ostream
.
template<typename CharT, typename Traits> ( is, subtract_with_carry_engine & f);
Reads a
from a subtract_with_carry_engine
std::istream
.
(subtract_with_carry_engine & x, subtract_with_carry_engine & y);
Returns true if the two generators will produce identical sequences of values.
(subtract_with_carry_engine & lhs, subtract_with_carry_engine & rhs);
Returns true if the two generators will produce different sequences of values.