random_device Равномерный случайный бит генератор производит недетерминированные случайные числа.
Если ограничения реализации не позволяют генерировать недетерминированные случайные числа, реализация может использовать механизм случайных чисел.
class random_device { public: // types using result_type = unsigned int; // generator characteristics static constexpr result_type min() { return numeric_limits<result_type>::min(); } static constexpr result_type max() { return numeric_limits<result_type>::max(); } // constructors explicit random_device(const string& token = implementation-defined); // generating functions result_type operator()(); // property functions double entropy() const noexcept; // no copy functions random_device(const random_device& ) = delete; void operator=(const random_device& ) = delete; };
explicit random_device(const string& token = implementation-defined);
double entropy() const noexcept;
result_type operator()();
Параметр предназначен для того, чтобы реализация могла различать разные источники случайности.
Если у устройства есть n состояния, соответствующие вероятности которых равны
P0,…,Pn−1, энтропия устройства S определяется как
S=−∑n−1i=0Pi⋅logPi.