aboutsummaryrefslogtreecommitdiff
path: root/src/randomization.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/randomization.cpp')
-rw-r--r--src/randomization.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/randomization.cpp b/src/randomization.cpp
new file mode 100644
index 0000000..8f233d2
--- /dev/null
+++ b/src/randomization.cpp
@@ -0,0 +1,21 @@
+#include "randomization.hpp"
+
+RandomNumberGenerator::RandomNumberGenerator(const 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(const unsigned int &a,
+ const unsigned int &b) const
+{
+ auto random_distribution = std::uniform_int_distribution<unsigned int>(a, b);
+
+ return random_distribution(*this->_generator);
+}