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.hpp | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/random_generator.hpp (limited to 'src/random_generator.hpp') diff --git a/src/random_generator.hpp b/src/random_generator.hpp new file mode 100644 index 0000000..a4c1331 --- /dev/null +++ b/src/random_generator.hpp @@ -0,0 +1,34 @@ +#pragma once + +#include +#include + +/** + * Pseudo-random unsigned integer generator. + */ +class RandomNumberGenerator +{ +public: + /** + * Creates a pseudo-random number generator. + * + * @param seed A number generation seed + */ + RandomNumberGenerator(unsigned int seed); + + /** + * Creates a pesudo-random number generator. + */ + RandomNumberGenerator(); + + /** + * Generates a number in the range of a to b. + * + * @param a A number lower than b + * @param b A number greater than a + */ + unsigned int in_range(unsigned int a, unsigned int b); + +private: + std::unique_ptr _generator; +}; -- cgit v1.2.3-18-g5258