.. _oneapi-mkl-rng-device-gaussian: oneapi::mkl::rng::device::gaussian ================================== Generates normally distributed random numbers. .. contents:: :local: :depth: 1 Description *********** The ``oneapi::mkl::rng::device::gaussian`` class object is used in the ``oneapi::mkl::rng::device::generate`` function to provide random numbers with normal (Gaussian) distribution with mean (``a``) and standard deviation (``stddev, σ``), where ``a``, ``σ ∈ R`` ; ``σ`` > 0. The probability density function is given by: .. math:: f_{a, \sigma} (x) = \frac{1}{\sigma \sqrt{2 \pi}} \exp \left( - \frac{(y-a)^2}{2\sigma^2} \right) dy, - \infty < x < + \infty The cumulative distribution function is as follows: .. math:: F_{a, \sigma} (x) = \int_{-\infty}^{x} \frac{1}{\sigma \sqrt{2 \pi}} \exp \left( - \frac{(y-a)^2}{2\sigma^2} \right) dy, - \infty < x < + \infty The cumulative distribution function :math:`Fa,\sigma (x)` can be expressed in terms of standard normal distribution :math:`\phi(x)` as .. math:: F a,\sigma (x) = \phi((x - a)/\sigma) API *** Syntax ------ .. code-block:: cpp template class gaussian { public: using method_type = Method; using result_type = RealType; gaussian(): gaussian((RealType)0.0, (RealType)1.0){} explicit gaussian(RealType mean, RealType stddev); explicit gaussian(const param_type& pt); RealType mean() const; RealType stddev() const; param_type param() const; void param(const param_type& pt); }; Include Files ------------- - ``oneapi/mkl/rng/device.hpp`` Template Parameters ------------------- .. list-table:: :header-rows: 0 * - ``typename RealType`` - Type of the produced values. The specific values are as follows: ``float`` ``double`` * - ``typename Method`` - Generation method. The specific values are as follows: ``oneapi::mkl::rng::device::gaussian_method::box_muller2`` Input Parameters ------------------- .. list-table:: :header-rows: 1 * - Name - Type - Description * - mean - ``RealType (float, double)`` - Mean value ``a``. * - stddev - ``RealType (float, double)`` - Standard deviation ``σ``.