subtract_with_carry_engine – třída
Generuje náhodné pořadí algoritmem odečíst s zvučnější (Fibonacciho tepelně izolováno).
template<class UIntType, size_t W, size_t S, size_t R>
class subtract_with_carry_engine;
Parametry
UIntType
Typ výsledku celého čísla bez znaménka.Možné typy, naleznete v části <random>.W
Word velikost.Velikost každého slova v bitech, stav pořadí.Předpokladem: 0 < W ≤ numeric_limits<UIntType>::digitsS
Krátké prodleva.Počet celočíselné hodnoty.Předpokladem: 0 < S < RR
Dlouhé prodlevy.Určuje opakování v řadě vygenerován.
Členy
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 je členem konstantní, definován jako 19780503u, použít jako výchozí hodnotu parametru pro subtract_with_carry_engine::seed a konstruktoru jednou hodnotou. |
Další informace o členech stroj, naleznete v části <random>.
Poznámky
substract_with_carry_engine Třída šablony je zlepšení oproti linear_congruential_engine.Ani pro tyto moduly je tak rychle, nebo s jako vysoce kvalitní výsledky, jako mersenne_twister_engine.
Tento modul vytváří hodnoty zadané uživatelem bez znaménka nedílnou typu pomocí vztahu třídy opakování (období) x(i) = (x(i - R) - x(i - S) - cy(i - 1)) mod M, kde cy(i) má hodnotu 1 Pokud x(i - S) - x(i - R) - cy(i - 1) < 0, v opačném případě 0, a M má hodnotu 2W.Stav stroje je zachování indikátor plus R hodnoty.Tyto hodnoty se skládají ze poslední R hodnoty vrácené if operator() byla volána alespoň R krát, v opačném případě N hodnoty, které byly vráceny a poslední R - N hodnoty počáteční hodnotu.
Argument šablony UIntType musí být dostatečně velká pro uložení hodnoty až M - 1.
Přestože generátor z tento modul lze vytvořit přímo, můžete také použít jeden z předdefinovaných funkce TypeDef v následující tabulce.
Name |
Popis |
---|---|
ranlux24_base |
Použít jako základ pro ranlux24.
|
ranlux48_base |
Použít jako základ pro ranlux48.
|
Podrobné informace o subract s algoritmem modulu provést, naleznete v článku Wikipedia Generátor tepelně izolováno Fibonacciho.
Požadavky
Záhlaví: < náhodné >
Obor názvů: směrodatné