CellularAutomata
Loading...
Searching...
No Matches
rng.inl
1#include "rng.hpp"
2
3#include <random>
4
5namespace CellularAutomata
6{
7 namespace random
8 {
9 static std::default_random_engine _gen(std::random_device{}());
10
11 void seed(unsigned int seed)
12 {
13 _gen.seed(seed);
14 }
15
16 template <typename T>
17 integer random(T min, T max)
18 {
19 std::uniform_int_distribution<T> dis(min, max);
20 return dis(_gen);
21 }
22
23 template <typename T>
24 decimal random(T min, T max)
25 {
26 std::uniform_real_distribution<T> dis(min, max);
27 return dis(_gen);
28 }
29 }
30}
void seed(unsigned int seed)
Sets the given seed for the random number generator.
Definition rng.inl:11
std::enable_if< std::is_integral< T >::value, T >::type random(T min, T max)
Returns a random number of given type on the range [min, max].
Definition rng.inl:17
Main namespace.
Definition common.hpp:33