ars5#

Description#

ARS-5 counter-based pseudorandom number generator with a period of \(2^{128}\), which uses instructions from the AES-NI set ARS5 [Salmon11].

API#

Syntax#

namespace oneapi::mkl::rng {
  class ars5 {
  public:
      static constexpr std::uint64_t default_seed = 0;

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

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::uint64_t std::initializer_list<std::uint64_t>

Initial conditions of the engine.

See VS Notes for the detailed descriptions.