![]() |
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> (, ); template<typename CharT, typename Traits> (, ); (, ); (, ); // 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_enginevalue.
template<typename SeedSeq> ( seq);
Constructs a new and seeds it with values produced by subtract_with_carry_engineseq.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_enginestd::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, f);
Writes a to a subtract_with_carry_enginestd::ostream.
template<typename CharT, typename Traits> ( is, f);
Reads a from a subtract_with_carry_enginestd::istream.
( x, y);
Returns true if the two generators will produce identical sequences of values.
( lhs, rhs);
Returns true if the two generators will produce different sequences of values.