diff options
author | HampusM <hampus@hampusmat.com> | 2022-02-13 20:54:02 +0100 |
---|---|---|
committer | HampusM <hampus@hampusmat.com> | 2022-02-13 20:54:02 +0100 |
commit | 176d6141c87a180b251bacaee656808bad17498b (patch) | |
tree | 9d3893014eeb8be293cf8928044925c379739d24 /src/random_generator.cpp | |
parent | b0c265ee3d94921f55266a679d3801a4d2b4505b (diff) |
refactor: add random number generation abstraction
Diffstat (limited to 'src/random_generator.cpp')
-rw-r--r-- | src/random_generator.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/random_generator.cpp b/src/random_generator.cpp new file mode 100644 index 0000000..1f17a88 --- /dev/null +++ b/src/random_generator.cpp @@ -0,0 +1,20 @@ +#include "random_generator.hpp" + +RandomNumberGenerator::RandomNumberGenerator(unsigned int seed) +{ + this->_generator = std::make_unique<std::mt19937>(seed); +} + +RandomNumberGenerator::RandomNumberGenerator() +{ + std::random_device random_device; + + this->_generator = std::make_unique<std::mt19937>(random_device()); +} + +unsigned int RandomNumberGenerator::in_range(unsigned int a, unsigned int b) +{ + auto random_distribution = std::uniform_int_distribution<unsigned int>(a, b); + + return random_distribution(*this->_generator); +} |