std::generate_canonical
Материал из cppreference.com
![]() |
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
template< class RealType, size_t bits, class Generator > RealType generate_canonical( Generator& g ); |
(начиная с C++11) | |
Генерирует случайное число с плавающей точкой в диапазоне [0; 1).
Оригинал:
Generates a random floating point number in range [0; 1).
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
g() называется столько раз, сколько необходимо для получения достаточно энтропии, т.е. по крайней мере раз max(1, ⌈ min(b
1, b
2) / log
2 R ⌉), где
1, b
2) / log
2 R ⌉), где
Оригинал:
g() is called as many times as needed to generate enough entropy, i.e. at least max(1, ⌈ min(b
1, b
2) / log
2 R ⌉) times, where
1, b
2) / log
2 R ⌉) times, where
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
- b1 = std::numeric_limits<RealType>::digits
- b2 = std::numeric_limits<RealType>::bits
- R = g.max() - g.min() + 1.
Содержание |
[править] Параметры
g | — | Генератор использовать для приобретения энтропии
Оригинал: generator to use to acquire entropy Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
[править] Возвращаемое значение
Значение с плавающей точкой в диапазоне [0; 1).
Оригинал:
Floating point value in range [0; 1).
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
[править] Исключения
Ни за исключением тех, брошенный
g
Оригинал:
None except from those thrown by
g
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
[править] Пример
получения случайных чисел с 10 бит случайность: это может привести только 1024 различных значений
Оригинал:
produce random numbers with 10 bits of randomness: this may produce only 1024 distinct values
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Запустить этот код
#include <random> #include <iostream> int main() { std::random_device rd; std::mt19937 gen(rd()); for(int n=0; n<10; ++n) { std::cout << std::generate_canonical<double, 10>(gen) << ' '; } }
Вывод:
0.208143 0.824147 0.0278604 0.343183 0.0173263 0.864057 0.647037 0.539467 0.0583497 0.609219
[править] См. также
(C++11) |
выдаёт вещественные значения, равномерно распределённые по диапазону (шаблон класса) |