A newer version of this document is available. Customers should click here to go to the newest version.
exponential
Generates exponentially distributed random numbers.
Description
The exponential class object is used in the generate function to provide random numbers with exponential distribution that has displacement and scalefactor
, where
.
The probability density function is given by:

The cumulative distribution function is as follows:

API
Syntax
namespace oneapi::mkl::rng::device {
template<typename RealType, typename Method>
class exponential {
public:
using method_type = Method;
using result_type = RealType;
exponential(): exponential((RealType)0.0, (RealType)1.0){}
explicit exponential(RealType a, RealType beta);
explicit exponential(const param_type& pt);
RealType a() const;
RealType beta() const;
param_type param() const;
void param(const param_type& pt);
};
}
Include Files
oneapi/mkl/rng/device.hpp
Template Parameters
typename Type |
Type of the produced values. The specific values are as follows:
|
typename Method |
Generation method. The specific values are as follows:
See brief descriptions of the methods in Distributions Template Parameter Method |
Note: To enable extra optimizations 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.
Input Parameters
Name |
Type |
Description |
---|---|---|
a |
RealType (float, double) |
Displacement a. |
beta |
RealType (float, double) |
Scalefactor |