onemkl::rng::exponential

Generates exponentially distributed random numbers.

Syntax

template<typename T = float, method Method =      inverse_function>
  class exponential {
  public:
    exponential(): exponential((T)0.0, (T)1.0){}
    exponential(T a, T beta)
    exponential(const exponential<T, Method>& other)
    T a() const
    T beta() const
    exponential<T, Method>& operator=(const      exponential<T, Method>& other)
  }

Include Files

  • mkl_sycl.hpp

Description

The onemkl::rng::exponential class object is used in onemkl::rng::generate function to provide random numbers with exponential distribution that has displacement a and scalefactor β, where a, β∈R ; β > 0.

The probability density function is given by:


image0

The cumulative distribution function is as follows:


image1

Input Parameters

Name

Type

Description

method

onemkl::rng::method

Generation method. The specific values are as follows: onemkl::rng::inverse_function onemkl::rng::inverse_function | onemkl::rng::accurate See brief descriptions of the methods in Distributions Template Parameter onemkl::rng::method Values.

a

T (float, double)

Displacement a.

beta

T (float, double)

Scalefactor β.