mkl::rng::device::gaussian

Generates normally distributed random numbers.

Syntax

template<typename RealType = float, typename Method = 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

Description

The class object is used in the 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:


Equation

The cumulative distribution function is as follows:


Equation

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 = mkl::rng::device::gaussian_method::by_default

Generation method. The specific values are as follows:

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 σ.