std::discrete_distribution
Материал из cppreference.com
|
|
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
<metanoindex/>
<tbody> </tbody>| Определено в заголовочном файле <random>
|
||
template< class IntType = int > class discrete_distribution; |
(начиная с C++11) | |
std::discrete_distribution производит случайных чисел на отрезке [0, n), где вероятность каждого отдельного i целое определяется как wi/S, то есть' вес
ith целое, деленная на сумму всех n веса. Оригинал:
std::discrete_distribution produces random integers on the interval [0, n), where the probability of each individual integer i is defined as wi/S, that is the weight of the
ith integer divided by the sum of all n weights. Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Типы-члены
| Тип члена | Определение |
result_type
|
IntType
|
param_type
|
Тип набора параметров, не указано
Оригинал: the type of the parameter set, unspecified Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
Функции-члены
строит новые распределения Оригинал: constructs new distribution Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-элемент) | |
сбрасывает внутреннее состояние распределения Оригинал: resets the internal state of the distribution Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-элемент) | |
Оригинал: Generation Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. | |
(C++11) |
генерирует следующее случайное число в распределении (public функция-элемент) |
Оригинал: Characteristics Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. | |
получает список вероятностей Оригинал: obtains the list of probabilities Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-элемент) | |
получает или задает объект распределения параметра Оригинал: gets or sets the distribution parameter object Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-элемент) | |
возвращает минимальное потенциально сгенерированное значение Оригинал: returns the minimum potentially generated value Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-элемент) | |
возвращает максимальное потенциально сгенерированное значение Оригинал: returns the maximum potentially generated value Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public функция-элемент) | |
Функции, не являющиеся членами
(C++11)(C++11)(удалено в C++20) |
сравнивает два объекта распределения (функция) |
|
выполняют потоковый вывод/ввод для объекта распределения псевдослучайных чисел |
Пример
Запустить этот код
#include <iostream>
#include <map>
#include <random>
int main()
{
std::random_device rd;
std::mt19937 gen(rd());
std::discrete_distribution<> d({40, 10, 10, 40});
std::map<int, int> m;
for(int n=0; n<10000; ++n) {
++m[d(gen)];
}
for(auto p : m) {
std::cout << p.first << " generated " << p.second << " times\n";
}
}
Вывод:
0 generated 4028 times
1 generated 978 times
2 generated 1012 times
3 generated 3982 times