sfmt19937#

Description#

SIMD-oriented Fast Mersenne Twister pseudorandom number generator SFMT19937 [Saito08] with a period length equal to \(2^{19937} - 1\) of the produced sequence.

API#

Syntax#

namespace oneapi::mkl::rng {
  class sfmt19937 {
  public:
    static constexpr std::uint32_t default_seed = 1;

    sfmt19937(sycl::queue queue, std::uint32_t seed = default_seed);
    sfmt19937(sycl::queue queue, std::initializer_list<std::uint32_t> seed);
    sfmt19937(const sfmt19937& other);
    sfmt19937(sfmt19937&& other);
    sfmt19937& operator=(const sfmt19937& other);
    sfmt19937& operator=(sfmt19937&& other);
    ~sfmt19937();
  };
}

Devices supported: CPU.

Include Files#

  • oneapi/mkl/rng.hpp

Input Parameters#

Name

Type

Description

queue

sycl::queue

Valid sycl queue, calls of oneapi::mkl::rng::generate() routine submit kernels in this queue.

seed

std::uint32_t std::initializer_list<std::uint32_t>

Initial conditions of the engine.

See VS Notes for the detailed descriptions.