gaussian#
Generates normally distributed random numbers.
Description#
The gaussian class object is used in the generate function to provide random numbers
with normal (Gaussian) distribution with mean (a) and standard deviation
(stddev, \(\sigma\) ), where \(a, \sigma \in \mathbb{R}; \sigma > 0\)
The probability density function is given by:
The cumulative distribution function is as follows:
The cumulative distribution function \(F_{a, \sigma}(x)\) can be expressed in terms of standard normal distribution \(\phi(x)\) as
API#
Syntax#
namespace oneapi::mkl::rng::device {
template<typename RealType, typename Method>
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#
|
Type of the produced values. The specific values are as follows:
|
|
Generation method. The specific values are as follows:
See brief descriptions of the methods in Distributions Template Parameter Method. |
Note
To enable oneapi::mkl::rng::device::gaussian_method::box_muller2
based on Vector Math functions, define the MKL_RNG_USE_BINARY_CODE macro and
link static oneMKL libraries according to the output produced by
Intel® oneAPI Math Kernel Library Link Line Advisor.
It may improve performance on some hardware.
Note
oneapi::mkl::rng::device::gaussian_method::icdf
is available only if the MKL_RNG_USE_BINARY_CODE macro is defined.
Also link static oneMKL libraries according to the output produced by
Intel® oneAPI Math Kernel Library Link Line Advisor.
Input Parameters#
Name |
Type |
Description |
|---|---|---|
mean |
|
Mean value |
stddev |
|
Standard deviation \(\sigma\). |