aboutsummaryrefslogtreecommitdiff
path: root/src/random_generator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/random_generator.cpp')
-rw-r--r--src/random_generator.cpp20
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);
+}