template< class IntType = int >
class discrete_distribution;
std::discrete_distribution
produces random integers on the interval [
â0â,
n)
, where the probability of each individual integer i
is defined as wi/S, that is the weight of the i
th integer divided by the sum of all n
weights.
std::discrete_distribution
satisfies all requirements of RandomNumberDistribution.
result_type
(C++11) IntType param_type
(C++11) the type of the parameter set, see RandomNumberDistribution. [edit] Member functions constructs new distribution
#include <iomanip> #include <iostream> #include <map> #include <random> int main() { std::random_device rd; std::mt19937 gen(rd()); std::discrete_distribution<> d({40, 10, 10, 40}); std::map<int, int> map; for (int n = 0; n < 1e4; ++n) ++map[d(gen)]; for (const auto& [num, count] : map) std::cout << num << " generated " << std::setw(4) << count << " times\n"; }
Possible output:
0 generated 4037 times 1 generated 962 times 2 generated 1030 times 3 generated 3971 times
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4