.. _oneapi-mkl-rng-mt19937: oneapi::mkl::rng::mt19937 ========================= .. contents:: :local: :depth: 1 Description *********** Mersenne Twister pseudorandom number generator MT19937 :ref:`[Matsumoto98] ` with period length 2\ :sup:`19937`-1 of the produced sequence. API *** Syntax ------ .. code-block:: cpp class mt19937 { public: static constexpr std::uint32_t default_seed = 1; mt19937(sycl::queue queue, std::uint32_t seed = default_seed); mt19937(sycl::queue queue, std::initializer_list seed); mt19937(const mt19937& other); mt19937(mt19937&& other); mt19937& operator=(const mt19937& other); mt19937& operator=(mt19937&& other); ~mt19937(); }; Devices supported: Host, CPU, and GPU. 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::uint32_t`` ``std::initializer_list`` - Initial conditions of the engine. See :ref:`VS Notes ` for detailed descriptions.