skip_ahead#

Description

Proceed state of engine by the skip-ahead method.

The skip_ahead function supports the following interfaces to apply the skip-ahead method:

  • Common interface

  • Interface with a partitioned number of skipped elements

skip_ahead#

Common Interface

namespace oneapi::mkl::rng::device {
  template<typename Engine>
  void skip_ahead (Engine& engine, std::uint64_t num_to_skip)
}

Template Parameters

Engine

Object of engine class, which supports the block-splitting method.

Input Parameters

engine

Engine which state would be skipped.

num_to_skip

Number of skipped elements.

Interface with a partitioned number of skipped elements

namespace oneapi::mkl::rng::device {
  template<typename Engine>
  void skip_ahead (Engine& engine, std::initializer_list<std::uint64_t> num_to_skip)
}

Template Parameters

Engine

Object of engine class, which supports the block-splitting method.

Input Parameters

engine

Engine which state would be skipped.

num_to_skip

Partitioned number of skipped elements. The total number of skipped elements would be: \(num\_to\_skip[0] + num\_to\_skip[1] \cdot 2^{64} + ... + num\_to\_skip[1] \cdot 2^{64 (n - 1)}\), where n is a number of elements in num_to_skip list.

Parent topic: Device Service Routines