![]() |
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> (, subtract_with_carry_01_engine &); template<typename CharT, typename Traits> (, subtract_with_carry_01_engine &); (subtract_with_carry_01_engine &, subtract_with_carry_01_engine &); (subtract_with_carry_01_engine &, subtract_with_carry_01_engine &); // 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, subtract_with_carry_01_engine & f);
Writes a subtract_with_carry_01_engine
to a std::ostream
.
template<typename CharT, typename Traits> ( is, subtract_with_carry_01_engine & f);
Reads a subtract_with_carry_01_engine
from a std::istream
.
(subtract_with_carry_01_engine & x, subtract_with_carry_01_engine & y);
Returns true if the two generators will produce identical sequences.
(subtract_with_carry_01_engine & lhs, subtract_with_carry_01_engine & rhs);
Returns true if the two generators will produce different sequences.