onemkl::rng::beta

Generates beta distributed random values.

Syntax

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

Include Files

  • mkl_sycl.hpp

Description

The onemkl::rng::beta class object is used in the onemkl::rng::generate function to provide random numbers with beta distribution that has shape parameters p and q, displacement a, and scale parameter (b, β), where p, q, a, and β∈R ; p > 0, q > 0, β > 0.

The probability density function is given by:

image0

where B(p, q) is the complete beta function.

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::cheng_johnk_atkinson onemkl::rng::cheng_johnk_atkinson | onemkl::rng::accurate See brief descriptions of the methods in Distributions Template Parameter onemkl::rng::method Values.

p

T (float, double)

Shape p

q

T (float, double)

Shape q

a

T (float, double)

Displacement a.

b

T (float, double)

Scalefactor b.