diff options
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); +} |