subtract_with_carry_engine — Klasa
Generuje losowe sekwencje przez algorytm Odejmij z przenoszące (połączenie z otuliną Fibonacci).
template<class UIntType, size_t W, size_t S, size_t R>
class subtract_with_carry_engine;
Parametry
UIntType
Typ wyniku liczby całkowitej bez znaku.Dla typów możliwych, zobacz <random>.W
Programu word rozmiar.Rozmiar każdego wyrazu w bitach, stan sekwencji.Warunek wstępny: 0 < W ≤ numeric_limits<UIntType>::digitsS
Krótkie opóźnienie.Liczba wartości całkowitych.Warunek wstępny: 0 < S < RR
Długo zwłoki.Określa cyklu w serii wygenerowany.
Elementy członkowskie
subtract_with_carry_engine::subtract_with_carry_engine |
subtract_with_carry_engine::min |
subtract_with_carry_engine::discard |
subtract_with_carry_engine::operator() |
subtract_with_carry_engine::max |
subtract_with_carry_engine::seed |
default_seed jest elementem członkowskim stałej, zdefiniowany jako 19780503u, jest używana jako domyślna wartość parametru subtract_with_carry_engine::seed i konstruktora pojedynczej wartości. |
Więcej informacji na temat aparatu elementów członkowskich w temacie <random>.
Uwagi
substract_with_carry_engine Klasy szablonu jest ulepszoną linear_congruential_engine.Ma oba te aparatów wypada nie szybko z jako wynik wysokiej jakości jako mersenne_twister_engine.
Ten aparat tworzy wartości określone przez użytkownika bez znaku integralną typu przy użyciu relacji cyklu (okresu) x(i) = (x(i - R) - x(i - S) - cy(i - 1)) mod M, gdzie cy(i) ma wartość 1 Jeśli x(i - S) - x(i - R) - cy(i - 1) < 0, w przeciwnym razie 0, i M ma wartość 2W.Stan przez aparat jest przenoszące wskaźnik plus R wartości.Te wartości składają się z ostatnich R wartości zwracane if operator() została wywołana co najmniej R czasu, w przeciwnym razie N wartości, które zostały zwrócone i ostatnich R - N wartości inicjatora.
Argument szablonu UIntType musi być wystarczający do przechowywania wartości M - 1.
Mimo to można skonstruować bezpośrednio generator z tego aparatu umożliwia także jeden z wstępnie zdefiniowanych definicje typów w poniższej tabeli.
Nazwa |
Opis |
---|---|
ranlux24_base |
Używany jako bazowy dla ranlux24.
|
ranlux48_base |
Używany jako bazowy dla ranlux48.
|
Aby uzyskać szczegółowe informacje dotyczące subract przy użyciu algorytmu aparat przenoszące, zobacz artykuł Wikipedia generator połączenie z otuliną Fibonacci.
Wymagania
Nagłówka: < losowe >
Przestrzeni nazw: Standard