hypergeometric#
Class is used for generation of hypergeometrically distributed integer types random numbers.
Description
The class object is used in the oneapi::mkl::rng::generate() function to provide random numbers hypergeometrically distributed with lot size
Consider a lot of
The probability distribution is given by:
The cumulative distribution function is as follows:
class hypergeometric#
Syntax
namespace oneapi::mkl::rng {
template<typename IntType = std::int32_t, typename Method = hypergeometric_method::by_default>
class hypergeometric {
public:
using method_type = Method;
using result_type = IntType;
hypergeometric();
explicit hypergeometric(std::int32_t l, std::int32_T s, std::int32_T m);
std::int32_t s() const;
std::int32_t m() const;
std::int32_t l() const;
};
}
Template parameters
- typename IntType
- Type of the produced values. Supported types:
std::int32_t
std::uint32_t
- typename Method = oneapi::mkl::rng::hypergeometric_method::by_default
Transformation method, which will be used for generation. Supported types:
oneapi::mkl::rng::hypergeometric_method::by_default
oneapi::mkl::rng::hypergeometric_method::h2pe
See description of the methods in Distributions methods template parameter.
Class Members
Routine |
Description |
---|---|
Default constructor |
|
explicit hypergeometric(std::int32_t l, std::int32_T s, std::int32_T m) |
Constructor with parameters |
Method to obtain lot size |
|
Method to obtain size of sampling without replacement |
|
Method to obtain number of marked elements |
Member types
hypergeometric::method_type = Method
Description
The type which defines transformation method for generation.
hypergeometric::result_type = IntType
Description
The type which defines type of generated random numbers.
Constructors
hypergeometric::hypergeometric()
Description
Default constructor for distribution, parameters set as l = 1, s = 1, m = 1.
explicit hypergeometric::hypergeometric(std::int32_t l, std::int32_T s, std::int32_T m)
Description
Constructor with parameters. l is a lot size, s is a size of sampling without replacement, m is a number of marked elements.
Throws
- oneapi::mkl::invalid_argument
Exception is thrown when
, or , or
Characteristics
std::int32_t hypergeometric::l() const
Return Value
Returns the distribution parameter l - lot size value.
std::int32_t hypergeometric::s() const
Return Value
Returns the distribution parameter s - size of sampling without replacement.
std::int32_t hypergeometric::m() const
Return Value
Returns the distribution parameter m - number of marked elements.
Parent topic: Host Distributions