名前空間
変種
操作

名前付き要件: UniformRandomBitGenerator

提供: cppreference.com
< cpp‎ | named req
 
 
名前付き要件
基本
レイアウト
ライブラリ全体
コンテナ
コンテナの要素
イテレータ
ストリーム入出力
乱数
UniformRandomBitGenerator
(C++11)
並行処理
(C++11)

(C++11)
(C++11)
その他
 

一様ランダムビットジェネレータは有り得る結果の範囲内の値それぞれが (理想的には) 等しい確率を持つような符号なし整数値を返す関数オブジェクトです。

一様ランダムビットジェネレータは乱数ジェネレータとして使用されることは意図されていません。 これらはランダムビット (効率のためにバルク生成されます) のソースとして使用されます。 乱数 (形式的にはランダム変量) を取得するために任意の一様ランダムビットジェネレータを任意の乱数分布に差し込むことができます。

[編集] 要件

以下の内容を満たす場合、型 GUniformRandomBitGenerator を満たします。

  • G::result_type によって表される型 T
  • G 型の値 g

が与えられたとき、以下の式が有効でなければならず、指定された効果を持たなければなりません。

戻り値の型 要件
G::result_type T T が符号なし整数型である。
G::min() T G の operator() か返す可能性のある最も小さな値を返す。 その値は G::max() より厳密に小さい。
G::max() T G の operator() が返す可能性のある最も大きな値を返す。 その値は G::min() より厳密に大きい。
g() T 閉区間 [G::min(), G::max()] 内の値を返す。 償却定数時間の計算量を持つ。

[編集] ノート

すべての RandomNumberEngine はこの要件を満たします。

[編集] 標準ライブラリ

以下の標準ライブラリの機能は UniformRandomBitGenerator 型を期待します。

(C++17未満)(C++11)
指定範囲の要素をランダムに並べ替えます
(関数テンプレート) [edit]
[0, 1) 内に一様に分布した、与えられた精度における実数値
(関数テンプレート) [edit]
範囲内に一様に分布した整数値を生成します
(クラステンプレート) [edit]
範囲内に一様に分布した実数値を生成します
(クラステンプレート) [edit]
その他のすべての乱数分布

以下の標準ライブラリの機能は RandomNumberEngine を追加で満たさずに UniformRandomBitGenerator を満たします。

ハードウェアエントロピーソースを使用する非決定的な乱数生成器
(クラス) [edit]