Distributions
Shape random output.
What Distributions Do
A distribution maps an engine's raw bits into values with a desired shape and range. You call it with the engine as an argument.
#include <iostream>
#include <random>
int main() {
std::mt19937 gen(1);
std::uniform_int_distribution<int> dist(1, 100);
std::cout << "value: " << dist(gen) << '\n';
return 0;
}Uniform Integer Distribution
std::uniform_int_distribution<int>(a, b) returns integers in the inclusive range [a, b], each equally likely.
#include <iostream>
#include <random>
int main() {
std::mt19937 gen(5);
std::uniform_int_distribution<int> die(1, 6);
for (int i = 0; i < 5; ++i) std::cout << die(gen) << ' ';
std::cout << '\n';
return 0;
}All lessons in this course
- Random Engines
- Distributions
- Seeding Properly
- Practical Examples