Visible to Intel only — GUID: GUID-6D91AF40-BC83-460B-A496-E683F614D4F5
Visible to Intel only — GUID: GUID-6D91AF40-BC83-460B-A496-E683F614D4F5
oneapi::mkl::rng::device::exponential
Generates exponentially distributed random numbers.
Description
The oneapi::mkl::rng::device::exponential class object is used in oneapi::mkl::rng::device::generate function to provide random numbers with exponential distribution that has displacement a and scalefactor , where
.
The probability density function is given by:
![](/content/dam/docs/us/en/developer-reference-dpcpp/2023-0/58773821-9E21-4677-B3D3-EBEDE96B67CF-low.png)
The cumulative distribution function is as follows:
![](/content/dam/docs/us/en/developer-reference-dpcpp/2023-0/26BCD8A0-2C16-413D-A84D-726907ED460A-low.png)
API
Syntax
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 mean, RealType stddev); 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 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::exponential_method::icdf oneapi::mkl::rng::device::exponential_method::icdf_accurate See brief descriptions of the methods in Distributions Template Parameter Method |
Input Parameters
Name |
Type |
Description |
---|---|---|
a |
RealType (float, double) |
Displacement a. |
beta |
RealType (float, double) |
Scalefactor |