std::subtract_with_carry_engine< _UIntType, __w, __s, __r >(3cxx) | std::subtract_with_carry_engine< _UIntType, __w, __s, __r >(3cxx) |
std::subtract_with_carry_engine< _UIntType, __w, __s, __r > - The Marsaglia-Zaman generator.
typedef _UIntType result_type
subtract_with_carry_engine (result_type
__sd=default_seed)
Constructs an explicitly seeded % subtract_with_carry_engine random number
generator. template<typename _Sseq , typename = typename
std::enable_if<!std::is_same<_Sseq,
subtract_with_carry_engine>::value> ::type>
subtract_with_carry_engine (_Sseq &__q)
Constructs a subtract_with_carry_engine random number engine seeded from the
seed sequence __q. void discard (unsigned long long __z)
Discard a sequence of random numbers. result_type operator() ()
Gets the next random number in the sequence. void seed
(result_type __sd=default_seed)
Seeds the initial state $x_0$ of the random number generator.
template<typename _Sseq > std::enable_if< std::is_class<
_Sseq >::value >::type seed (_Sseq &__q)
Seeds the initial state $x_0$ of the % subtract_with_carry_engine random
number generator.
static constexpr result_type max ()
Gets the inclusive maximum value of the range of random integers returned by
this generator. static constexpr result_type min ()
Gets the inclusive minimum value of the range of random integers returned by
this generator.
static constexpr result_type default_seed
static constexpr size_t long_lag
static constexpr size_t short_lag
static constexpr size_t word_size
template<typename _UIntType1 , size_t __w1, size_t __s1, size_t
__r1, typename _CharT , typename _Traits > std::basic_ostream<
_CharT, _Traits > & operator<<
(std::basic_ostream< _CharT, _Traits > &__os, const
std::subtract_with_carry_engine< _UIntType1, __w1, __s1, __r1 >
&__x)
Inserts the current state of a % subtract_with_carry_engine random number
generator engine __x into the output stream __os. bool
operator== (const subtract_with_carry_engine &__lhs, const
subtract_with_carry_engine &__rhs)
Compares two % subtract_with_carry_engine random number generator objects of
the same type for equality. template<typename _UIntType1 , size_t __w1,
size_t __s1, size_t __r1, typename _CharT , typename _Traits >
std::basic_istream< _CharT, _Traits > &
operator>> (std::basic_istream< _CharT, _Traits >
&__is, std::subtract_with_carry_engine< _UIntType1, __w1,
__s1, __r1 > &__x)
Extracts the current state of a % subtract_with_carry_engine random number
generator engine __x from the input stream __is.
class std::subtract_with_carry_engine< _UIntType, __w, __s, __r >" The Marsaglia-Zaman generator.
This is a model of a Generalized Fibonacci discrete random number generator, sometimes referred to as the SWC generator.
A discrete random number generator that produces pseudorandom numbers using: x_{i}
The size of the state is $r$ and the maximum period of the generator is $(m^r - m^s - 1)$.
Definition at line 659 of file random.h.
The type of the generated random value.
Definition at line 662 of file random.h.
Constructs an explicitly seeded % subtract_with_carry_engine random number generator.
Definition at line 683 of file random.h.
Constructs a subtract_with_carry_engine random number engine seeded from the seed sequence __q.
Parameters:
Definition at line 696 of file random.h.
Discard a sequence of random numbers.
Definition at line 742 of file random.h.
Gets the inclusive maximum value of the range of random integers returned by this generator.
Definition at line 735 of file random.h.
Gets the inclusive minimum value of the range of random integers returned by this generator.
Definition at line 727 of file random.h.
Gets the next random number in the sequence.
Definition at line 598 of file bits/random.tcc.
References std::dec(), std::fixed(), std::ios_base::flags(), std::left(), std::discard_block_engine< _RandomNumberEngine, __p, __r >::operator()(), std::__detail::operator>>(), and std::skipws().
Referenced by std::subtract_with_carry_engine< _UIntType, __w, __s, __r >::seed().
Seeds the initial state $x_0$ of the random number generator. N1688[4.19] modifies this as follows. If __value == 0, sets value to 19780503. In any case, with a linear congruential generator lcg(i) having parameters $ m_{lcg} = 2147483563, a_{lcg} = 40014, c_{lcg} = 0, and lcg(0) = value $, sets $ x_{-r} ots x_{-1} $ to $ lcg(1) ots lcg(r) $ respectively. If $ x_{-1} = 0 $ set carry to 1, otherwise sets carry to 0.
Definition at line 543 of file bits/random.tcc.
Referenced by std::mersenne_twister_engine< uint_fast32_t, 32, 624, 397, 31, 0x9908b0dfUL, 11, 0xffffffffUL, 7, 0x9d2c5680UL, 15, 0xefc60000UL, 18, 1812433253UL >::discard().
Seeds the initial state $x_0$ of the % subtract_with_carry_engine random number generator.
Definition at line 572 of file bits/random.tcc.
References std::subtract_with_carry_engine< _UIntType, __w, __s, __r >::operator()().
Inserts the current state of a % subtract_with_carry_engine random number generator engine __x into the output stream __os.
Parameters:
Returns:
Compares two % subtract_with_carry_engine random number generator objects of the same type for equality.
Parameters:
Returns:
Definition at line 767 of file random.h.
Extracts the current state of a % subtract_with_carry_engine random number generator engine __x from the input stream __is.
Parameters:
Returns:
Generated automatically by Doxygen for libstdc++ from the source code.
Mon Feb 25 2019 | libstdc++ |