linear_congruential_engine Class
Generuje náhodné posloupnosti lineární congruential algoritmu.
template<class UIntType,
UIntType A, UIntType C, UIntType M>
class linear_congruential_engine {
public:
typedef UIntType result_type;
static const UIntType multiplier = A;
static const UIntType increment = C;
static const UIntType modulus = M;
static const UIntType default_seed = 1U;
explicit linear_congruential_engine(result_type x0 = default_seed);
explicit linear_congruential_engine(seed_seq& seq);
void seed(result_type x0 = default_seed);
void seed(seed_seq& seq);
static const result_type min();
static const result_type max();
result_type operator()();
void discard(unsigned long long count)();
private:
result_type stored_value;
};
Parametry
UIntType
Výsledek typu celé číslo bez znaménka.A
Parametr a motoru.C
Parametr c motoru.M
Parametr m motoru.
Poznámky
Popisuje šablony třídy <random> , která vyvolává hodnoty zadané uživatelem nepodepsané nedílnou typu pomocí vztahu opakování relationrecurrence x(i) = (A * x(i-1) + C) mod M.Stavu motoru je poslední vrátila hodnotu nebo hodnotu osiva, pokud byla provedena žádná volání operator().
Šablony argument UIntType musí být dostatečně velké pro uložení hodnot do M - 1.Hodnoty argumentů šablony A a C musí být menší než M.
Požadavky
Záhlaví: <random>
Obor názvů: std
Viz také
Referenční dokumentace
linear_congruential_engine::discard
linear_congruential_engine::linear_congruential_engine