- random[meta header]
- std[meta namespace]
- piecewise_linear_distribution[meta class]
- function[meta id-type]
- cpp11[meta cpp]
void reset();状態をリセットする。
この関数を呼び出すことで、後続の乱数生成が、前回の乱数生成によって変更されうる状態に依存せずに行うことができる。
内部の状態をリセットする。
なし
定数時間
#include <iostream>
#include <random>
#include <array>
#include <cstdint>
int main()
{
std::random_device seed_gen;
std::uint32_t seed = seed_gen();
std::default_random_engine engine(seed);
std::array<double, 3> intervals = {0.0, 0.5, 1.0};
std::array<double, 3> densities = {0.0, 0.5, 0.0};
std::piecewise_linear_distribution<> dist(
intervals.begin(),
intervals.end(),
densities.begin()
);
for (int i = 0; i < 5; ++i) {
dist.reset(); // 前回生成までの状態をリセット
std::cout << dist(engine) << std::endl;
}
}- reset()[color ff0000]
- intervals.begin()[link /reference/array/array/begin.md]
- intervals.end()[link /reference/array/array/end.md]
- densities.begin()[link /reference/array/array/begin.md]
0.370825
0.487996
0.129233
0.234302
0.39022
- C++11
- Clang: ??
- GCC: 4.7.2 [mark verified]
- ICC: ??
- Visual C++: ??