C++ 具名要求:均匀随机位生成器 (UniformRandomBitGenerator)
| 基础 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 类型属性 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 库所属 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 容器 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 容器元素 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 迭代器 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 流 I/O | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 格式化 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 随机数 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 并发 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 范围 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 其他 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
均匀随机位生成器是返回无符号整数值的函数对象,可能结果范围中的每个值都(理想情况)拥有等概率。
均匀随机位生成器不是有意用做随机数生成器的:它们被用作随机位的源(为效率大量生成)。任何均匀随机位生成器均可被插入任何随机数分布,以获得随机数(正式而言是随机变量)。
要求
类型 G 满足均匀随机位生成器 (UniformRandomBitGenerator)
,若
给定
-
T,G::result_type所指名的类型 -
g,G类型的值
下列表达式必须合法且拥有其指定的效应
| 表达式 | 返回类型 | 要求 |
|---|---|---|
| G::result_type | T
|
T 是无符号整数类型
|
| G::min() | T
|
返回 G 的 operator() 可返回的最小值。值严格小于 G::max()
。函数必须是 constexpr 。
|
| G::max() | T
|
返回 G 的 operator() 可返回的最大值。值严格大于 G::min()
。函数必须是 constexpr 。
|
| g() | T
|
返回闭区间 [G::min(), G::max()] 中的值。拥有均摊常数复杂度。 |
注解
所有随机数引擎 (RandomNumberEngine) 均满足此要求。
标准库
下列标准库设施期待均匀随机位生成器 (UniformRandomBitGenerator) 类型。
|
(C++17
前)(C++11)
|
随机重排范围中的元素 (函数模板) |
|
(C++11)
|
给定精度的均匀分布在 [0, 1) 上的实数值 (函数模板) |
|
(C++11)
|
产生在一个范围上均匀分布的整数值 (类模板) |
|
(C++11)
|
产生在一个范围上均匀分布的实数值 (类模板) |
| 所有其他随机数分布 | |
下列标准库设施满足均匀随机位生成器 (UniformRandomBitGenerator) 而不另外满足随机数引擎 (RandomNumberEngine) :
|
(C++11)
|
使用硬件熵源的非确定随机数生成器 (类) |
参阅
|
(C++20)
|
指定类型具备作为均匀随机位生成器的资格 (概念) |