From 176d6141c87a180b251bacaee656808bad17498b Mon Sep 17 00:00:00 2001 From: HampusM Date: Sun, 13 Feb 2022 20:54:02 +0100 Subject: refactor: add random number generation abstraction --- src/random_generator.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/random_generator.cpp (limited to 'src/random_generator.cpp') 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(seed); +} + +RandomNumberGenerator::RandomNumberGenerator() +{ + std::random_device random_device; + + this->_generator = std::make_unique(random_device()); +} + +unsigned int RandomNumberGenerator::in_range(unsigned int a, unsigned int b) +{ + auto random_distribution = std::uniform_int_distribution(a, b); + + return random_distribution(*this->_generator); +} -- cgit v1.2.3-18-g5258