linear_congruential_engine Class
Generiert eine zufällige Sequenz durch den linearen congruential Algorithmus.
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;
};
Parameter
UIntType
Der vorzeichenlose Ergebnistyp ganze Zahl.A
Der a-Modulparameter.C
Der C-Modulparameter.M
Der M-Modulparameter.
Hinweise
Die Vorlagenklasse beschreibt <random>, die Werte eines vom Benutzer angegebenen ganzzahligen Typ ohne Vorzeichen mit der Wiederholung relationrecurrence Beziehung x(i) = (A * x(i-1) + C) mod M erzeugt.Der Zustand des Moduls ist der letzte zurückgegebene Wert oder der Anfangswert, wenn operator() kein Aufruf ausgeführt wurde.
Das Vorlagenargument UIntType muss groß genug sein, Werte bis zu M enthält - 1.Die Werte der Vorlagenargumente A und C müssen kleiner als M sein.
Anforderungen
Header: <random>
Namespace: std
Siehe auch
Referenz
linear_congruential_engine::discard
linear_congruential_engine::linear_congruential_engine