.. _oneapi-mkl-rng-sobol: oneapi::mkl::rng::sobol ======================= .. contents:: :local: :depth: 1 Description *********** Sobol quasi-random number generator :ref:`[Sobol76] `, :ref:`[Bratley88] `, which works in arbitrary dimension. API *** Syntax ------ .. code-block:: cpp class sobol { public: static constexpr std::uint32_t default_dimensions_number = 1; sobol(sycl::queue queue, std::uint32_t dimensions = default_dimensions_number); sobol(sycl::queue queue, std::vector& direction_numbers); sobol(const sobol& other); sobol(sobol&& other); sobol& operator=(const sobol& other); sobol& operator=(sobol&& other); ~sobol(); }; 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. * - dimensions - ``std::uint32_t`` - Number of dimensions. * - direction_numbers - ``std::vector`` - User-defined direction numbers. See :ref:`VS Notes ` for the detailed descriptions.