.. _oneapi-mkl-rng-ars5: oneapi::mkl::rng::ars5 ======================== .. contents:: :local: :depth: 1 Description *********** ARS-5 counter-based pseudorandom number generator with a period of 2\ :sup:`128`, which uses instructions from the AES-NI set ARS5 :ref:`[Salmon11] `. API *** Syntax ------ .. code-block:: cpp 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 seed); ars5(const ars5& other); ars5(ars5&& other); ars5& operator=(const ars5& other); ars5& operator=(ars5&& other); ~ars5(); }; Devices supported: Host and CPU. Include Files ------------- - ``oneapi/mkl/rng.hpp`` Input Parameters ---------------- .. list-table:: :header-rows: 1 * - 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`` - Initial conditions of the engine. See :ref:`VS Notes ` for the detailed descriptions.