A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://cplusplus.com/reference/random/discard_block_engine/discard/ below:

public member function

<random>

std::discard_block_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
19
20
21
// discard_block_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();

  // ranlux24 is a standard instantitation of discard_block_engine:
  std::ranlux24 generator (seed);

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

  generator.discard(generator.used_block);  // advance an entire block

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

  return 0;
}

Possible output:
Random value: 6747515
Random value: 8481690


Complexity Linear in z.

See also
discard_block_engine::operator()
Generate random number (public member function)

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