public member function
<random>

std::subtract_with_carry_engine::discard

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.

The effects on the state sequence are the same as if the transition algorithm was applied as many times as notches advanced on subsequent elements.

Parameters

z
Number of equivalent advances.

Return value

None

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// subtract_with_carry_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::subtract_with_carry_engine<unsigned,24,10,24> generator (seed);

  std::cout << "Random value: " << generator() << std::endl;
  generator.discard(1);
  std::cout << "Random value: " << generator() << std::endl;

  return 0;
}

Possible output:
Random value: 14872181
Random value: 5758068


Complexity

Linear in z.

See also