linear_congruential Class
Genera una sequenza casuale dall'algoritmo congruential lineare.Mantenuto per compatibilità TR1.In alternativa, utilizzare linear_congruential_engine Class.
template<class UIntType,
UIntType A, UIntType C, UIntType M>
class linear_congruential {
public:
typedef linear_congruential<UIntType, A, C, M> _MyT;
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(UIntType x0 = default_seed)
linear_congruential(const linear_congruential& right);
linear_congruential(linear_congruential& right);
template<class Gen>
linear_congruential(Gen& gen);
void seed(UIntType x0 = default_seed);
template<class Gen>
void seed(Gen& gen);
result_type min() const;
result_type max() const;
result_type operator()();
private:
result_type stored_value; // exposition only
};
Parametri
UIntType
Il tipo di risultato intero senza segno.A
Il parametro del motore di Su.C
Il parametro del motore di C.M
Il parametro del motore m.
Note
Questa classe modello descrive un motore semplice che produce valori di un tipo integrale senza segno definito utilizzando la relazione per indurre totale x(i) = (A * x(i-1) + C) mod M.Lo stato del motore è l'ultimo valore restituito o, il valore di inizializzazione se alcuna chiamata è stata apportata a operator().
Un argomento di template UIntType deve essere sufficiente per contenere valori fino a M - 1.I valori degli argomenti di modello A e C devono essere meno che M.
Requisiti
intestazione: <random>
Spazio dei nomi: deviazione standard
Vedere anche
Riferimenti
linear_congruential::linear_congruential