oneapi::mkl::rng::device::gaussian

Generates normally distributed random numbers.

Syntax

template<typename RealType = float, typename Method = oneapi::mkl::rng::device::gaussian_method::by_default>
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)
RealType mean() const
RealType stddev() const
}

Include Files

  • oneapi/mkl/rng/device.hpp

Description

The 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:


image0

The cumulative distribution function is as follows:


image1

The cumulative distribution function Fa,σ(x) can be expressed in terms of standard normal distribution Φ(x) as

F


     a,σ
 (x) = Φ((x - a)/σ)

Template Parameters

typename RealType = float

Type of the produced values. The specific values are as follows: float double

typename Method = oneapi::mkl::rng::device::gaussian_method::by_default

Generation method. The specific values are as follows: oneapi::mkl::rng::device::gaussian_method::box_muller2

Input Parameters

Name

Type

Description

mean

RealType (float, double)

Mean value a.

stddev

RealType (float, double)

Standard deviation σ.