diff options
author | HampusM <hampus@hampusmat.com> | 2022-02-19 17:30:16 +0100 |
---|---|---|
committer | HampusM <hampus@hampusmat.com> | 2022-06-13 17:56:53 +0200 |
commit | cc3869ac0b24a97dbadc6b837b3c23af28baa627 (patch) | |
tree | 3fa7156e1734de03d6b8152bfae219774bb38196 /src/randomization.hpp | |
parent | 4210c8d2f8fc36e614b8bfb669511c00383002f0 (diff) |
feat: add basic program stuff
Diffstat (limited to 'src/randomization.hpp')
-rw-r--r-- | src/randomization.hpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/randomization.hpp b/src/randomization.hpp new file mode 100644 index 0000000..b4931d7 --- /dev/null +++ b/src/randomization.hpp @@ -0,0 +1,35 @@ +#pragma once + +#include <memory> +#include <random> + +/** + * Pseudo-random unsigned integer generator. + */ +class RandomNumberGenerator +{ +public: + /** + * Creates a pseudo-random number generator. + * + * @param seed A number generation seed + */ + explicit RandomNumberGenerator(const 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 + */ + [[nodiscard]] unsigned int in_range(const unsigned int &a, + const unsigned int &b) const; + +private: + std::unique_ptr<std::mt19937> _generator; +}; |