Шаблоны распределения определяют заданный по умолчанию параметр типа шаблона (см. раздел 17.4.2). Для целочисленных распределений по умолчанию принят тип int
double
.Конструкторы каждого вида распределения имеют специфические параметры. Некоторые из этих параметров определяют диапазон распределения. В отличие от диапазонов итераторов, эти диапазоны всегда являются инклюзивными (включающими крайние значения).
uniform_int_distribution
uniform_real_distribution
Генерирует значения указанного типа в заданном инклюзивном диапазоне. Параметры m
x
) задают наименьшее число, которое может быть возвращено; а параметры n
(или y
) — наибольшее. По умолчанию m
имеет значение 0, a n
— максимально возможное значение, которое способен хранить объект типа intT
. Параметр x
по умолчанию имеет значение 0.0, а y
— 1.0.bernoulli_distribution b(p);
Возвращает значение true
p
. По умолчанию параметр p
имеет значение 0.5.binomial_distribution
Распределение вычисляется для выборочного размера, заданного целочисленным значением t
p
; по умолчанию t
имеет значение 1, а p
— значение 0.5.geometric_distribution
Параметр p
true
и по умолчанию имеет значение 0.5.negative_binomial_distribution
Целочисленное значение k
p
. По умолчанию k
имеет значение 1, а p
— значение 0.5.poisson_distribution
Распределение относительно значения x
double
.exponential_distribution
Лямбда lam
lam
имеет значение 1.0.gamma_distribution
Альфа (форма) a
b
; оба по умолчанию имеют значение 1.0.weibull_distribution
Форма a
b
; оба по умолчанию имеют значение 1.0.extreme_value_distribution
По умолчанию а имеет значение 0.0, a b — значение 1.0.
normal_distribution
Параметр m
s
— среднеквадратичное отклонение. По умолчанию m
имеет значение 0.0, a s
— значение 1.0.lognormal_distribution
Параметр m
s
— среднеквадратичное отклонение. По умолчанию m
имеет значение 0.0, a s
— значение 1.0.chi_squared_distribution
Параметр x
cauchy_distribution
Область а
b
— значение 1.0.fisher_f_distribution
m
n
— степени свободы; оба по умолчанию имеют значения 1.student_t_distribution
n
discrete_distribution
discrete_distribution
i
j
— итераторы ввода последовательности коэффициентов; il
— заключенный в скобки список коэффициентов. Коэффициенты должны допускать приведение к типу double
.piecewise_constant_distribution
b
е
и w
— итераторы ввода.piecewise_linear_distribution
b
е
и w
— итераторы ввода.А.3.2. Процессоры случайных чисел
Библиотека определяет три класса, реализующих различные алгоритмы генерации случайных чисел. Библиотека определяет также три адаптера, модифицирующих созданную последовательность заданным процессором. Классы процессоров и адаптеров являются шаблонами. В отличие от параметров распределений, параметры процессоров сложны и требуют хорошего знания математического механизма, используемого конкретным процессором. Процессоры перечислены здесь только для того, чтобы читатель знал об их существовании, но подробно они в этой книге не рассматриваются.
Библиотека определяет также несколько типов, созданных на базе процессоров и адаптеров. Тип default_random_engine
default_random_engine
Псевдоним типа для одного из процессоров, подходящего для большинства задач.