std::mersenne_twister_engine<UIntType,w,n,m,r,a,u,d,s,b,t,c,l,f>::seed
From cppreference.com
< cpp | numeric | random | mersenne twister engine
| void seed( result_type value = default_seed ); |
(1) | (C++11以降) |
template< class SeedSeq > void seed( SeedSeq& seq ); |
(2) | (C++11以降) |
乱数エンジンの状態を設定します。
目次 |
[編集] パラメータ
| value | - | 状態を設定するために使用するシード値 |
| seq | - | 状態を設定するために使用するシードシーケンス |
[編集] 例外
[編集] 計算量
1) std::mersenne_twister_engine(value) と同じです。
2) std::mersenne_twister_engine(seq) と同じです。
欠陥レポート
以下の動作変更を伴う欠陥報告が、以前に公開されたC++標準に遡って適用されました。
| DR | 適用対象 | 公開された動作 | 正しい動作 |
|---|---|---|---|
| LWG 2181 | C++11 | オーバーロード (2) は、seq.generate の呼び出しで例外が発生しても例外をスローしません。 |
例外を伝播させます。 |
[編集] 関連項目
| エンジンを構築します。 (public member function) |
[編集] 例
このコードを実行
#include <iostream> #include <random> int main() { std::mt19937 gen; // Seed the engine with an unsigned int gen.seed(1); std::cout << "after seed by 1: " << gen() << '\n'; // Seed the engine with two unsigned ints std::seed_seq sseq{1, 2}; gen.seed(sseq); std::cout << "after seed by {1,2}: " << gen() << '\n'; }
実行結果の例
after seed by 1: 1791095845
after seed by {1,2}: 3127717181