std:: seed_seq
From cppreference.net
C++
Numerics library
| Common mathematical functions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Mathematical special functions (C++17) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Mathematical constants (C++20) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Basic linear algebra algorithms (C++26) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Data-parallel types (SIMD) (C++26) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Floating-point environment (C++11) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Complex numbers | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Numeric array (
valarray
)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Pseudo-random number generation | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Bit manipulation (C++20) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Saturation arithmetic (C++26) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Factor operations | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Interpolations | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Generic numeric operations | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| C-style checked integer arithmetic | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Pseudo-random number generation
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::seed_seq
| Member functions | ||||
|
定義先ヘッダ
<random>
|
||
|
class
seed_seq
;
|
(C++11以降) | |
std::seed_seq
は、整数値データのシーケンスを消費し、消費されたデータに基づいて要求された数の32ビット符号なし整数値を生成します。生成される値は、消費された値が近い場合でも、32ビット範囲全体に分散されます。
これは、小さなシードまたは分布の悪い初期シードシーケンスが与えられた場合に、多数の乱数エンジンにシードを供給する方法、または大量のエントロピーを必要とするジェネレータにシードを供給する方法を提供します。
std::seed_seq
は
SeedSequence
の要件を満たします。
目次 |
ネスト型
| 型 | 定義 |
result_type
|
std::uint_least32_t |
データメンバ
| メンバー | 説明 |
std::
vector
<
result_type
>
v
|
基盤となるシードシーケンス
( 説明専用メンバーオブジェクト* ) |
メンバー関数
std::seed_seq
オブジェクトを構築・シードする
(public member function) |
|
|
operator=
[deleted]
|
std::seed_seq
は代入不可
(public member function) |
|
バイアス除去された均一分布の32ビット値を計算する
(public member function) |
|
|
格納されている32ビット値の数を取得する
(public member function) |
|
|
格納されているすべての32ビット値をコピーする
(public member function) |
例
このコードを実行
#include <cstdint> #include <iostream> #include <random> int main() { std::seed_seq seq{1, 2, 3, 4, 5}; std::vector<std::uint32_t> seeds(10); seq.generate(seeds.begin(), seeds.end()); for (std::uint32_t n : seeds) std::cout << n << '\n'; }
出力例:
4204997637 4246533866 1856049002 1129615051 690460811 1075771511 46783058 3904109078 1534123438 1495905678