linear_congruential_engine Class
Genera una secuencia aleatoria el algoritmo congruential lineal.
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
El tipo de resultado de entero sin signo.A
El parámetro del motor de A.C
El parámetro del motor de C.M
El parámetro del motor de m.
Comentarios
La clase de plantilla describe <random> que genera valores de entero sin signo definido por el usuario escribe utilizando la relación x(i) = (A * x(i-1) + C) mod Mde relationrecurrence de la frecuencia.El estado del motor es el valor devuelto último, o el valor de inicialización si no se ha realizado ninguna llamada a operator().
El argumento UIntType template debería ser lo bastante grande para contener valores hasta la m - 1.Los valores de los argumentos A y C de plantilla deben ser menor que M.
Requisitos
encabezado: <aleatorio>
espacio de nombres: std
Vea también
Referencia
linear_congruential_engine::discard
linear_congruential_engine::linear_congruential_engine