<random>
Definuje mnoho generátory náhodných čísel.
#include <random>
Poznámky
A Generátor pseudonáhodných čísel je objekt, který vytvoří posloupnost pseudonáhodných hodnoty.Generátor, který vytváří rovnoměrně v určeném rozsahu hodnot je stroj.Motor lze kombinovat s distribuce, buď předáním motoru jako argument distribuční operator() nebo pomocí variate_generator Class, vyrábět hodnoty, které jsou distribuovány způsobem, který je definován pro distribuci.
Většina náhodné číslo generátorů šablon, jehož parametry přizpůsobit generátoru.Popisy generátory, zadejte jako argument, které popisují vlastnosti typu, které jsou povoleny jako skutečné argument typu, takto pomocí běžné názvy parametrů šablony:
IntTypeoznačuje podepsaná nebo nepodepsaná integrálního typu.
UIntTypeoznačuje nepodepsané integrálního typu.
RealTypeoznačuje typ s plovoucí desetinnou čárkou.
Motor je TR1 třídy nebo šablona třídy, jehož instance sloužit jako zdroj náhodných čísel rovnoměrně mezi minimální a maximální hodnotu.Motor může být jednoduchý stroj nebo složené motoru.Každý motor má následující členy:
typedef numeric-type result_typeTyp vrácené generátoru operator().
result_type min()Vrátí minimální hodnotu vrácenou zdroje tepla operator().
result_type max()Vrátí maximální hodnotu vrácenou zdroje tepla operator().Při result_type je integrálního typu, toto je maximální hodnotu, která může být vrácena; Při result_type je typ s plovoucí desetinnou čárkou, toto je nejmenší hodnota větší než všechny hodnoty, které mohou být vráceny.
void seed()Osiva funkce inicializuje modul s výchozími hodnotami osiva.
template <class InIt> void seed(InIt& first, InIt last)Funkce osiva semena motoru pomocí hodnoty typu unsigned long z poloviny otevřít sekvence, které se odkazuje [first, last).Pokud sekvence není dostatečně dlouhé, aby plně inicializovat modul, funkce uložena hodnota last v first a vyvolá objekt typu std::invalid_argument.
[!POZNÁMKA]
Pouze motory zachována kompatibilita TR1 patří tento člen.
result_type operator()()Vrátí hodnoty, které jsou rovnoměrně rozloženy mezi min() a max().
min, max, a result_type nejsou popsány podrobně pro motory, které následují.
Počínaje Visual Studio 2010, každý motor s výjimkou zachována kompatibilita TR1 obsahuje také následující členy:
Explicitní konstruktor s argumentem result_type x0 vytváří motoru peckami jako v případě, že pomocí volání seed(x0).
Explicitní konstruktor s argumentem seed_seq& seq vytváří motoru peckami jako v případě, že pomocí volání seed(seq).
void seed(result_type x0)Funkce osiva semena motoru s hodnotou osiva x0.
void seed(seed_seq& seq)Funkce osiva semena motoru pomocí počátečních hodnot z seq.
void discard(unsigned long long count)efektivně volá operator() počet opakování a výmětu jednotlivé hodnoty.
Každý motor má stavu , určuje posloupnost hodnot generovaných následné volání na operator().Státy dvou objektů stejného typu lze porovnat pomocí operator== a operator!=.Porovnání dvou států jako rovný, vygeneruje objekty stejné pořadí hodnot.Stav objektu lze uložit do proudu jako posloupnost 32bitové hodnoty nepodepsané pomocí operator<< objektu.Stav se nezmění jeho uložením.Uložený stav lze číst do stejného typu objektu pomocí operator>>.
A jednoduchý stroj je motor, který vytváří přímo náhodných čísel.Tato knihovna obsahuje jednu třídu, jejíž objekty jsou jednoduché motory.Poskytuje čtyři třídy šablon, které lze vytvořit instanci pomocí hodnot, které obsahují parametry pro implementaci algoritmu a devíti předdefinované instance tyto šablony třídy.Tyto typy objektů jsou také jednoduché motory.
A složené motoru je motor, který získá náhodných čísel z jednoho nebo více jednoduché motorů a generuje proud rozložených náhodných čísel pomocí těchto hodnot.Tato knihovna poskytuje dva stroje složené šablony třídy.
A distribuce je třída TR1 nebo proud rozložených náhodných čísel, získané z motoru do proudu náhodných čísel, která mají zvláštní distribuční transformace jehož instance třídy šablony.Každé rozdělení má následující členy:
typedef numeric-type input_typeje typ, který by měl být vrácen stroj předán operator().
typedef numeric-type result_typeTyp vrácené distribuce operator().
void reset()zahodí všechny hodnoty uložené v mezipaměti tak, aby výsledkem další volání operator() nezávisí na všechny hodnoty získané z motoru před volání.
template <class Engine> result_type operator()(Engine& eng)Vrátí hodnoty, které jsou distribuovány podle definice distribuci pomocí eng jako zdroj rozložených náhodných hodnot a uložené balíček parametr.
input_type, result_type, a reset nejsou popsány podrobně pro rozdělení, které následují.
Počínaje Visual Studio 2010, každý distribuční má také:
typedef unspecified-type param_typebalíček parametry předána ke generování hodnoty operator().
A const param& konstruktor inicializuje uložené parametr balíček z argumentu.
param_type param() constnačte uložené parametru balíčku.
void param(const param_type&)Nastaví parametr uložené balíček z argumentu.
template <class Engine> result_type operator()(Engine& eng, param_type par0)Vrátí hodnoty podle definice distribuci jako zdroj rozložených náhodných hodnot a parametrů balíček pomocí eng par0.
Balíček parametr je objekt, který uchovává všechny parametry potřebné pro rozdělení.Obsahuje:
typedef distribution-type distribution_typeje typ jeho distribuce.
Jeden nebo více konstruktory stejný parametr, které uvádí jako vzít distribuční konstruktory.
Parametr access funkcí distribuce.
Relační operátory rovnosti a nerovnost.
Knihovna je možné sestavit jako zkontrolované verzi a nekontrolované verze.Kontrolované verze používá podobné c na makro assert makra testování podmínky označeny jako Precondition ve funkční popisy.Chcete-li použít kontrolované verze definovat buď makro _RNG_CHECK nebo makro _DEBUG na číselnou hodnotu nula v veškerý kód využívající knihovnu.
Třídy
Generuje Bernoulliho rozdělení. |
|
Generuje binomické rozdělení. |
|
Generuje Cauchy distribuce. |
|
Generuje rozdělení chí-kvadrát. |
|
Generuje náhodné posloupnosti vypuštěním hodnoty vrácené základní motor.Zachována kompatibilita TR1. |
|
Generuje náhodné posloupnosti vypuštěním hodnoty vrácené základní motor. |
|
Generuje distribuční diskrétní celé číslo. |
|
Generuje exponenciálního rozdělení. |
|
Generuje distribuci extrémních hodnot. |
|
Generuje rozdělení Fisher F. |
|
Generuje gama rozdělení. |
|
Generuje geometrické distribuce. |
|
Vygeneruje náhodné posloupnosti s zadaný počet bitů přebalování bitů z hodnoty vrácené základní motor. |
|
Generuje náhodné posloupnosti pomocí lineární congruential algoritmu.Zachována kompatibilita TR1. |
|
Generuje náhodné posloupnosti pomocí lineární congruential algoritmu. |
|
Generuje protokol normální rozdělení. |
|
Generuje náhodné posloupnosti pomocí algoritmu twister Mersenne.Zachována kompatibilita TR1. |
|
Generuje náhodné posloupnosti pomocí algoritmu twister Mersenne. |
|
Generuje negativní binomické rozdělení. |
|
Generuje normální rozdělení. |
|
Generuje piecewise konstantní distribuce. |
|
Generuje piecewise lineární distribuce. |
|
Generuje Poissonovo rozdělení. |
|
Pomocí externího zařízení generuje náhodné posloupnosti. |
|
Ukládá vektorové hodnot celé číslo bez znaménka, které lze zadat náhodného osiva pro náhodné číslo motoru. |
|
Vygeneruje náhodné posloupnosti přeuspořádání hodnot vrácených z jeho základního motoru. |
|
Generuje Student T rozdělení. |
|
Generuje náhodné posloupnosti pomocí algoritmu provádět odečíst.Zachována kompatibilita TR1. |
|
Generuje náhodnou sekvenci pomocí pohyblivé čárce odečíst algoritmem provádět.Zachována kompatibilita TR1. |
|
Generuje náhodné posloupnosti pomocí algoritmu provádět odečíst. |
|
Generuje distribučního jednotných celé číslo.Zachována kompatibilita TR1. |
|
Generuje distribučního jednotných celé číslo. |
|
Generuje rovnoměrné s plovoucí desetinnou čárkou.Zachována kompatibilita TR1. |
|
Generuje rovnoměrné s plovoucí desetinnou čárkou. |
|
Zalomí motoru a rozdělení. |
|
Generuje distribuční funkce Weibullova rozdělení. |
|
Generuje kombinované distribuce. |
Funkce TypeDef
Zadejte definici pro výchozí modul. |
|
Zadejte definici modulu náhodné pořadí. |
|
Zadejte definici pro lineární motor congruential. |
|
Zadejte definici pro lineární motor congruential. |
|
Zadejte definici modulu twister Mersenne. |
|
Zadejte definici modulu twister Mersenne. |
|
Definice typu plovoucí desetinnou čárkou pro odečítání s motorem provádět. |
|
Definice typu odečíst s provádět motoru. |
|
Definice typu plovoucí desetinnou čárkou pro odečítání s motorem provádět. |
|
Definice typu odečíst s provádět motoru. |
|
Definice typu plovoucí desetinnou čárkou pro odečítání s motorem provádět. |
|
Zadejte definici modulu blokování zrušit. |
|
Definice typu odečíst s provádět motoru. |
|
Zadejte definici modulu blokování zrušit. |
|
Definice typu odečíst s provádět motoru. |
|
Definice typu plovoucí desetinnou čárkou pro odečítání s motorem provádět. |
Operátory
Zkoušky motoru na levé straně operátoru rovna motoru na pravé straně. |
|
Zkoušky, jestliže motor na levé straně operátoru není rovno motoru na pravé straně. |
|
Zapíše informace o stavu datového proudu. |
|
Extrahuje informace z datového proudu. |
Funkce
Vrátí hodnotu s plovoucí desetinnou čárkou v náhodném pořadí. |