public member function
<random>
std::linear_congruential_engine::discardvoid 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.The effects on the state sequence are the same as if the transition algorithm was applied as many times as notches advanced:
Where x is the current state value, a and c are their respective class template parameters, and m is its respective class template parameter if this is greater than 0, or numerics_limits<UIntType>::max() plus 1, otherwise.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// linear_congruential_engine::discard
#include <iostream>
#include <chrono>
#include <random>
int main ()
{
// obtain a seed from the system clock:
unsigned seed = std::chrono::system_clock::now().time_since_epoch().count();
std::minstd_rand0 generator (seed); // minstd_rand0 is a standard linear_congruential_engine
std::cout << "Random value: " << generator() << std::endl;
generator.discard(10); // discard 10 values
std::cout << "Random value: " << generator() << std::endl;
return 0;
}
Random value: 1170275710 Random value: 44925998
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4