Udostępnij za pośrednictwem


<random>

Określa liczbę generatorów.

#include <random>

Uwagi

A generator liczb losowych jest obiektem, który wytwarza sekwencja wartości pseudolosowych.Generator, dającą się równomiernie w określonym zakresie wartości jest silnika.Silnik może być łączone z dystrybucji, albo poprzez silnik jako argument do dystrybucji operator() lub za pomocą variate_generator Class, produkować wartości, które są rozmieszczone w sposób, który jest zdefiniowany przez dystrybucji.

Większość generatory liczb losowych szablonów, których parametry dostosować wytwornicy.Opisy generatory, których typ jako argument należy wspólne nazwy parametrów szablonu do opisu właściwości typu, które są dozwolone jako typu argumentu rzeczywistych, w następujący sposób:

  • IntTypeWskazuje typ integralną podpisem lub bez.

  • UIntTypeWskazuje typ bez znaku.

  • RealTypeWskazuje typ zmiennoprzecinkowych.

Silnik jest TR1 klasy lub szablonu klasy, której wystąpienia działa jako źródło liczb losowych równomiernie między wartością minimalną i maksymalną.Silnik może być prosty silnik lub silnika mieszanek.Każdy silnik ma następujące elementy:

  • typedef numeric-type result_typejest to typ zwracany przez generator operator().

  • result_type min()Zwraca minimalną wartość zwracaną przez generator operator().

  • result_type max()Zwraca maksymalną wartość zwracaną przez generator operator().Gdy result_type jest typem całkowitym jest maksymalna wartość, która może być rzeczywiście zwrócona; gdy result_type jest typu zmiennoprzecinkowego, jest to najmniejsza wartość większa od wszystkich wartości, które mogą być zwrócone.

  • void seed()Funkcji materiału siewnego inicjuje silnika z domyślne wartości materiału siewnego.

  • template <class InIt> void seed(InIt& first, InIt last)Funkcja materiału siewnego nasion silnika za pomocą wartości typu unsigned long z serii półotwartych jest wskazywana przez [first, last).Jeśli sekwencja nie jest wystarczająco długi, aby w pełni zainicjować aparatu, funkcja przechowuje wartość last w first i generuje obiektu typu std::invalid_argument.

    [!UWAGA]

    Tylko silniki zgodność TR1 obejmują tego członka.

  • result_type operator()()Zwraca wartości, które są równomiernie między min() i max().

min, max, i result_type nie są opisane szczegółowo dla silników, które należy wykonać.

Począwszy od programu Visual Studio 2010, każdy silnik, z wyjątkiem tych zgodność TR1 obejmuje również następujące elementy:

  • Jawne konstruktora z argumentem result_type x0 który tworzy silnika bakterią tak, jakby przez wywołanie seed(x0).

  • Jawne konstruktora z argumentem seed_seq& seq który tworzy silnika bakterią tak, jakby przez wywołanie seed(seq).

  • void seed(result_type x0)Funkcja materiału siewnego nasion silnika z wartością materiału siewnego x0.

  • void seed(seed_seq& seq)Funkcja materiału siewnego nasion silnika wartościami materiału siewnego z seq.

  • void discard(unsigned long long count)wywołuje operator() razy licznik i odrzutów każdej wartości.

Każdy silnik ma Państwo , który określa kolejność wartości, które mają być generowane przez kolejne wywołania operator().Państwa dwóch obiektów tego samego typu, można porównać przy użyciu operator== i operator!=.Jeśli porównać dwa Państwa jako równe, obiekty wygeneruje sama sekwencja wartości.Stan obiektu, który można zapisać do strumienia jako sekwencja 32-bitowa bez znaku wartości za pomocą operator<< obiektu.Państwo nie zostaje zmieniony poprzez zapisanie go.Zapisany stan można odczytać na obiekt tego samego typu, przy użyciu operator>>.

A prosty silnik jest silnik, który produkuje bezpośrednio liczb losowych.Ta biblioteka zawiera jedną klasę, w których obiekty są proste silników.Udostępnia również cztery szablony klasy, które można tworzyć przy użyciu wartości, które przewidują parametry algorytmu który wdrażają i dziewięciu wstępnie zdefiniowane instancje tych klas szablonów.Obiekty te typy są również proste silników.

A silnika mieszanek jest silnik, który uzyskuje liczb losowych z jednego lub więcej proste silników i generuje strumienia jednolicie rozproszonych liczb losowych przy użyciu tych wartości.Ta biblioteka przewiduje dwa aparaty mieszanek szablony klasy.

A dystrybucji TR1 klasy lub szablonu klasy, której wystąpienia Przekształć strumienia jednolicie rozproszonych liczb losowych, uzyskane z silnika na strumień mieć rozkład określonej liczby losowe.Każda dystrybucja ma następujące elementy:

  • typedef numeric-type input_typejest typu, który powinien być zwrócony przez silnik, przekazywany do operator().

  • typedef numeric-type result_typejest to typ zwracany przez rozkład operator().

  • void reset()Usuwa wszelkie buforowane wartości, tak aby wynik następne wywołanie operator() nie zależy od wartości uzyskane z silnika przed wywołaniem.

  • template <class Engine> result_type operator()(Engine& eng)Zwraca wartości, które są dystrybuowane zgodnie z definicją dystrybucji za pomocą eng jako źródło wartości losowych jednolicie rozproszonych i przechowywane pakiet parametr.

input_type, result_type, i reset nie są opisane szczegółowo dla dystrybucji, które należy wykonać.

Począwszy od programu Visual Studio 2010, dystrybucji, co również ma:

  • typedef unspecified-type param_typepakiet parametry są przekazywane do operator() do generowania swojej zwracanej wartości.

  • A const param& Konstruktor inicjuje pakietu parametr przechowywanych z argumentu.

  • param_type param() constpobiera pakiet parametr przechowywane.

  • void param(const param_type&)Ustawia pakiet parametr przechowywanych z argumentu.

  • template <class Engine> result_type operator()(Engine& eng, param_type par0)Zwraca rozkład zgodnie z definicją dystrybucji, przy użyciu eng jako źródło wartości losowych jednolicie rozproszonych i opakowania, parametr wartości par0.

Pakiet parametrem jest obiekt, który przechowuje wszystkie parametry potrzebne dla rozkładu.Zawiera:

  • typedef distribution-type distribution_typejest to typ jego dystrybucji.

  • Jednego lub kilku konstruktorów ten sam parametr listy jako take konstruktory dystrybucji.

  • Parametr access funkcji rozkładu.

  • Operatory porównania równości i nierówności.

Biblioteki można budować jako sprawdzona wersja, a niezaznaczone wersji.Sprawdzona wersja wykorzystuje podobne do c makro assert makro, aby przetestować warunki oznaczone jako Precondition w opisach funkcjonalności.Do korzystania z wersji sprawdzonej, należy zdefiniować makro albo _RNG_CHECK lub makro _DEBUG na wartość numeryczną zera cały kod, który korzysta z biblioteki.

Bb982398.collapse_all(pl-pl,VS.110).gifKlasy

bernoulli_distribution Class

Generuje rozkładu Bernoulli'ego.

binomial_distribution Class

Generuje rozkład dwumianowy.

cauchy_distribution Class

Generuje rozkład Cauchy'ego.

chi_squared_distribution Class

Generuje rozkładem chi-kwadrat.

discard_block Class

Generuje losowe, odrzucając wartości zwracane przez silnik bazowy.Zachowane zgodnooć TR1.

discard_block_engine Class

Generuje losowe, odrzucając wartości zwracane przez silnik bazowy.

discrete_distribution Class

Generuje dystrybucji dyskretna liczbą całkowitą.

exponential_distribution Class

Generuje wykładniczego rozkładu.

extreme_value_distribution Class

Generuje dystrybucji wartości skrajnych.

fisher_f_distribution Class

Generuje rozkład Fisher F.

gamma_distribution Class

Generuje rozkład gamma.

geometric_distribution Class

Generuje rozkład geometryczny.

independent_bits_engine Class

Generuje losowe o określonej liczbie bitów przez przepakowaniu bity od wartości zwracane przez silnik bazowy.

linear_congruential Class

Generuje losowe przy użyciu algorytmu złożony liniowej.Zachowane zgodnooć TR1.

linear_congruential_engine Class

Generuje losowe przy użyciu algorytmu złożony liniowej.

lognormal_distribution Class

Generuje rozkładu normalnego dziennika.

mersenne_twister Class

Generuje losowe przy użyciu algorytmu Mersenne twister.Zachowane zgodnooć TR1.

mersenne_twister_engine Class

Generuje losowe przy użyciu algorytmu Mersenne twister.

negative_binomial_distribution Class

Generuje ujemny rozkład dwumianowy.

normal_distribution Class

Generuje rozkładu normalnego.

piecewise_constant_distribution Class

Generuje obszarami stałej dystrybucji.

piecewise_linear_distribution Class

Generuje obszarami liniowa dystrybucji.

poisson_distribution Class

Generuje rozkładu Poissona.

random_device Class

Generuje losowe przy użyciu zewnętrznego urządzenia.

seed_seq Class

Przechowuje wektor wartości Liczba całkowita bez znaku, które mogą dostarczyć losowy materiału siewnego dla silnika liczbę losową.

shuffle_order_engine Class

Generuje losowe kolejności wartości zwrócone przez silnik bazowy.

student_t_distribution Class

Generuje rozkładu T Studenta.

subtract_with_carry Class

Generuje losowe przy użyciu Odejmij carry algorytmu.Zachowane zgodnooć TR1.

subtract_with_carry_01 Class

Generuje losową sekwencji za pomocą liczb zmiennoprzecinkowych odjąć z carry algorytmu.Zachowane zgodnooć TR1.

subtract_with_carry_engine Class

Generuje losowe przy użyciu Odejmij carry algorytmu.

uniform_int Class

Generuje dystrybucji jednolitej liczby całkowitej.Zachowane zgodnooć TR1.

uniform_int_distribution Class

Generuje dystrybucji jednolitej liczby całkowitej.

uniform_real Class

Generuje równomierny zmiennoprzecinkowych.Zachowane zgodnooć TR1.

uniform_real_distribution Class

Generuje równomierny zmiennoprzecinkowych.

variate_generator Class

Otacza silnika i dystrybucji.

weibull_distribution Class

Generuje rozkładu Weibulla.

xor_combine Class

Generuje łączny rozkład.

Bb982398.collapse_all(pl-pl,VS.110).gifDefinicje TypeDef

default_random_engine TypeDef

Wpisz definicję dla domyślnego aparatu.

knuth_b TypeDef

Wpisz definicję dla silnika kolejność losowo.

minstd_rand0 TypeDef

Wpisz definicję dla liniowego silnika złożony.

minstd_rand TypeDef

Wpisz definicję dla liniowego silnika złożony.

mt19937 TypeDef

Wpisz definicję dla silnika twister Mersenne.

mt19937_64 TypeDef

Wpisz definicję dla silnika twister Mersenne.

ranlux_base_01 TypeDef

Definicja typu zmiennoprzecinkowego odjąć carry silnika.

ranlux3 TypeDef

Definicja typu dla różnicowym z przewozu silnika.

ranlux3_01 TypeDef

Definicja typu zmiennoprzecinkowego odjąć carry silnika.

ranlux4 TypeDef

Definicja typu dla różnicowym z przewozu silnika.

ranlux4_01 TypeDef

Definicja typu zmiennoprzecinkowego odjąć carry silnika.

ranlux24 TypeDef

Wpisz definicję dla silnika bloku Odrzuć.

ranlux24_base TypeDef

Definicja typu dla różnicowym z przewozu silnika.

ranlux48 TypeDef

Wpisz definicję dla silnika bloku Odrzuć.

ranlux48_base TypeDef

Definicja typu dla różnicowym z przewozu silnika.

ranlux64_base_01 TypeDef

Definicja typu zmiennoprzecinkowego odjąć carry silnika.

Bb982398.collapse_all(pl-pl,VS.110).gifOperatory

operator== <random>

Badania, jeżeli silnik po lewej stronie operatora jest równa silnika po prawej stronie.

operator!= <random>

Badania, jeżeli silnik po lewej stronie operatora nie równa się silnika po prawej stronie.

operator<< <random>

Zapisuje informacje o stanie strumienia.

operator>> <random>

Wyodrębnia informacje o stanie ze strumienia.

Bb982398.collapse_all(pl-pl,VS.110).gifFunkcje

generate_canonical

Zwraca wartość zmiennoprzecinkową z losowe.