onemkl::rng::rayleigh

Generates Rayleigh distributed random values.

Syntax

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

Include Files

  • mkl_sycl.hpp

Description

The onemkl::rng::rayleigh class object is used by the onemkl::rng::generate function to provide Rayleigh distributed random numbers with displacement (a) and scalefactor (b, β), where a, β∈R ; β > 0.

The Rayleigh distribution is a special case of the Weibull distribution, where the shape parameter α = 2.

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.

b

T (float, double)

Scalefactor b.