linear_congruential_engine Class
Gera uma seqüência aleatório pelo algoritmo congruential linear.
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;
};
Parâmetros
UIntType
O tipo do resultado inteiro sem sinal de.A
O parâmetro do mecanismo de.C
O parâmetro do mecanismo de C.M
O parâmetro do mecanismo de M.
Comentários
A classe de modelo descreve <random> que gera valores de um tipo integral sem sinal especificado pelo usuário usando a relação x(i) = (A * x(i-1) + C) mod Mde relationrecurrence de recorrência.O estado do mecanismo é o último valor retornado, ou o valor semente se nenhum chamada foi feita para operator().
O argumento UIntType de modelo deve ser grande o suficiente para armazenar valores até M - 1.Os valores dos argumentos A e C de modelo devem ser menor que M.
Requisitos
Cabeçalho: <random>
namespace: STD
Consulte também
Referência
linear_congruential_engine::discard
linear_congruential_engine::linear_congruential_engine