cauchy_distribution<RealT> c(a, b);
Область а
по умолчанию имеет значение 0.0, а масштаб b
— значение 1.0.
fisher_f_distribution<RealT> f(m, n);
m
и n
— степени свободы; оба по умолчанию имеют значения 1.
student_t_distribution<RealT> s(n);
n
— степень свободы; значение по умолчанию — 1.
discrete_distribution<IntT> d(i, j);
discrete_distribution<IntT> d{il};
i
и j
— итераторы ввода последовательности коэффициентов; il
— заключенный в скобки список коэффициентов. Коэффициенты должны допускать приведение к типу double
.
piecewise_constant_distribution<RealT> pc(b, е, w);
b
, е
и w
— итераторы ввода.
piecewise_linear_distribution<RealT> pl(b, е, w);
b
, е
и w
— итераторы ввода.
А.3.2. Процессоры случайных чисел
Библиотека определяет три класса, реализующих различные алгоритмы генерации случайных чисел. Библиотека определяет также три адаптера, модифицирующих созданную последовательность заданным процессором. Классы процессоров и адаптеров являются шаблонами. В отличие от параметров распределений, параметры процессоров сложны и требуют хорошего знания математического механизма, используемого конкретным процессором. Процессоры перечислены здесь только для того, чтобы читатель знал об их существовании, но подробно они в этой книге не рассматриваются.
Библиотека определяет также несколько типов, созданных на базе процессоров и адаптеров. Тип default_random_engine
— это псевдоним типа для одного из классов процессоров, параметризованных переменными, предназначенными для повышения эффективности использования. Библиотека определяет также несколько классов, являющихся полностью специализированными версиями процессора или адаптера. Ниже приведены процессоры и их специализации, определенные библиотекой.
default_random_engine
Псевдоним типа для одного из процессоров, подходящего для большинства задач.
linear_congruential_engine
minstd_rand0
— имеет множитель 16807, модуль 2147483647 и приращение 0.
minstd_rand
— имеет множитель 48271, модуль 2147483647 и приращение 0.
mersenne_twister_engine
mt19937
— 32-разрядный беззнаковый генератор вихря Мерсенна.
mt19937_64
— 64-разрядный беззнаковый генератор вихря Мерсенна.
subtract_with_carry_engine
ranlux24_base
— 32-разрядный беззнаковый генератор вычитания с переносом.
ranlux48_base
— 64-разрядный беззнаковый генератор вычитания с переносом.
discard_block_engine
Адаптер процессора, отбрасывающий результаты базового процессора. Параметризуется базовым процессором для размера используемого блока и размера использованных блоков.
ranlux24
— использует процессор ranlux24_base
с размером блока 223 и размером использованных блоков 23.
ranlux48
— использует процессор ranlux48_base
с размером блока 389 и размером использованных блоков 11.
independent_bits_engine
Адаптер процессора, генерирующий числа с заданным количеством битов. Параметризован базовым процессором для использования количества битов, генерируемых в его результатах, и целочисленным беззнаковым типом, используемым для содержания созданных битов. Определяемое количество битов должно быть меньше количества цифр, которое может содержать заданный беззнаковый тип.
shuffle_order_engine
Адаптер процессора, возвращающий те же числа, что и его базовый процессор, но в другой последовательности. Параметризован базовым процессором и количеством переставляемых элементов.
knuth_b
— использует процессор minstd_rand0
с размером таблицы 256.