public member function (公共成员函数)
<random>
void discard (unsigned long long z);
Advance internal state (推进内部状态)
Advances the internal state by z notches, as if operator() was called z times, but without generating any numbers in the process. (将内部状态推进z个刻度,就像调用了operator() z次一样,但在此过程中不生成任何数字。)
The effects on the state sequence are the same as if the transition algorithm was applied z times on subsequent elements. (对状态序列的影响与转移算法对后续元素应用z次的效果相同。)
参数
- z
- Number of equivalent advances. (等效推进的次数。)
示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
// independent_bits_engine::discard
#include <iostream>
#include <chrono>
#include <cstdint>
#include <random>
int main ()
{
// obtain a seed from the system clock:
unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();
std::independent_bits_engine<std::mt19937,64,std::uint_fast64_t> generator (seed);
std::cout << "Random value: " << generator() << std::endl;
generator.discard(1); // discard one element
std::cout << "Random value: " << generator() << std::endl;
return 0;
}
|
可能的输出
Random value: 13760645581718272663
Random value: 451864462774584642
|
复杂度
Linear in z. (与z呈线性关系。)