std::discrete_distribution<IntType>::discrete_distribution
From cppreference.com
< cpp | numeric | random | discrete distribution
C++
Numerics library
| Common mathematical functions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Mathematical special functions (C++17) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Mathematical constants (C++20) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Basic linear algebra algorithms (C++26) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Data-parallel types (SIMD) (C++26) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Floating-point environment (C++11) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Complex numbers | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Numeric array (valarray) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Pseudo-random number generation | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Bit manipulation (C++20) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Saturation arithmetic (C++26) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Factor operations | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Interpolations | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Generic numeric operations | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| C-style checked integer arithmetic | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Pseudo-random number generation
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::discrete_distribution
| Member functions | ||||
discrete_distribution::discrete_distribution | ||||
| Generation | ||||
| Characteristics | ||||
| Non-member functions | ||||
(C++11)(C++11)(until C++20) | ||||
(C++11)(C++11) |
| discrete_distribution(); |
(1) | (since C++11) |
| template< class InputIt > discrete_distribution( InputIt first, InputIt last ); |
(2) | (since C++11) |
| discrete_distribution( std::initializer_list<double> weights ); |
(3) | (since C++11) |
| template< class UnaryOperation > discrete_distribution( std::size_t count, double xmin, double xmax, |
(4) | (since C++11) |
| explicit discrete_distribution( const param_type& params ); |
(5) | (since C++11) |
Constructs a new distribution object.
1) Default constructor. Constructs the distribution with a single weight p = {1}. This distribution will always generate 0.
2) Constructs the distribution with weights in the range
[first, last). If first == last, the effects are the same as of the default constructor.3) Constructs the distribution with weights in weights. Effectively calls discrete_distribution(weights.begin(), weights.end().
4) Constructs the distribution with count weights that are generated using function unary_op. Each of the weights is equal to wi = unary_op(xmin + δ(i + 0.5)), where δ =
and i ∈ {0, ..., count − 1}. xmin and xmax must be such that δ > 0. If count == 0 the effects are the same as of the default constructor.
| (xmax − xmin) |
| count |
5) Constructs the distribution with params as the distribution parameters.
[edit] Parameters
| first, last | - | the range of elements defining the numbers to use as weights. The type of the elements referred by InputIterator must be convertible to double
|
| weights | - | initializer list containing the weights |
| unary_op | - | unary operation function object that will be applied. The signature of the function should be equivalent to the following: Ret fun(const Type &a); The signature does not need to have const &. |
| params | - | the distribution parameter set |
| Type requirements | ||
-InputIt must meet the requirements of LegacyInputIterator.
| ||