![]() |
Home | Libraries | People | FAQ | More |
boost::random::subtract_with_carry_01_engine
// In header: <boost/random/subtract_with_carry.hpp> template<typename RealType, w, s, r> class subtract_with_carry_01_engine { public: // types typedef ; // construct/copy/destruct (); (); template<typename SeedSeq> (); template<typename It> (, ); // public member functions (); (); template<typename SeedSeq> (); template<typename It> (, ); (); (); template<typename Iter> (, ); // public static functions (); (); // friend functions template<typename CharT, typename Traits> (, ); template<typename CharT, typename Traits> (, ); (, ); (, ); // public data members static has_fixed_range; static word_size; static long_lag; static short_lag; static default_seed; };
Instantiations of subtract_with_carry_01_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_01_engine
public
construct/copy/destruct();
Creates a new subtract_with_carry_01_engine using the default seed.
( value);
Creates a new subtract_with_carry_01_engine and seeds it with value.
template<typename SeedSeq> ( seq);
Creates a new subtract_with_carry_01_engine and seeds with values produced by seq.generate().
template<typename It> ( first, last);
Creates a new subtract_with_carry_01_engine and seeds it with values from a range. Advances first to point one past the last consumed value. If the range does not contain enough elements to fill the entire state, throws std::invalid_argument.
subtract_with_carry_01_engine public member functions();
Seeds the generator with the default seed.
( value);
Seeds the generator with 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 element. If there are not enough elements in the range to fill the entire state, throws std::invalid_argument.
();
Returns the next value of the generator.
( z);
Advances the state of the generator by z.
template<typename Iter> ( first, last);
Fills a range with random values.
subtract_with_carry_01_engine friend functionstemplate<typename CharT, typename Traits> ( os, f);
Writes a subtract_with_carry_01_engine to a std::ostream.
template<typename CharT, typename Traits> ( is, f);
Reads a subtract_with_carry_01_engine from a std::istream.
( x, y);
Returns true if the two generators will produce identical sequences.
( lhs, rhs);
Returns true if the two generators will produce different sequences.