std:: bernoulli_distribution
From cppreference.net
|
Определено в заголовке
<random>
|
||
|
class
bernoulli_distribution
;
|
(начиная с C++11) | |
Генерирует случайные булевы значения в соответствии с дискретной функцией вероятности. Вероятность значения true составляет
-
P(b|p) =
⎧
⎨
⎩ p , если b равно true
1 − p , если b равно false
std::bernoulli_distribution
удовлетворяет требованиям
RandomNumberDistribution
.
Содержание |
Типы членов
| Тип члена | Определение |
result_type
(C++11)
|
bool |
param_type
(C++11)
|
тип набора параметров, см. RandomNumberDistribution . |
Функции-члены
|
(C++11)
|
создает новое распределение
(public member function) |
|
(C++11)
|
сбрасывает внутреннее состояние распределения
(public member function) |
Генерация |
|
|
(C++11)
|
генерирует следующее случайное число в распределении
(public member function) |
Характеристики |
|
|
(C++11)
|
возвращает параметр распределения
p
(вероятность генерации
true
)
(public member function) |
|
(C++11)
|
получает или устанавливает объект параметров распределения
(public member function) |
|
(C++11)
|
возвращает минимальное потенциально генерируемое значение
(public member function) |
|
(C++11)
|
возвращает максимальное потенциально генерируемое значение
(public member function) |
Функции, не являющиеся членами класса
|
(C++11)
(C++11)
(removed in C++20)
|
сравнивает объекты распределения
(функция) |
|
(C++11)
|
выполняет потоковый ввод и вывод для распределения псевдослучайных чисел
(шаблон функции) |
Пример
Запустить этот код
#include <iomanip> #include <iostream> #include <map> #include <random> #include <string> int main() { std::random_device rd; std::mt19937 gen(rd()); // возвращает "true" в 1/4 случаев // возвращает "false" в 3/4 случаев std::bernoulli_distribution d(0.25); std::map<bool, int> hist; for (int n = 0; n < 10000; ++n) ++hist[d(gen)]; std::cout << std::boolalpha; for (auto const& [key, value] : hist) std::cout << std::setw(5) << key << ' ' << std::string(value / 500, '*') << '\n'; }
Возможный вывод:
false *************** true ****
Внешние ссылки
| Вайсштейн, Эрик В. "Бернулли распределение." Из MathWorld — веб-ресурс Wolfram. |