18 std::random_device rd{};
22 static_cast<std::seed_seq::result_type
>(std::chrono::steady_clock::now().time_since_epoch().count()),
23 rd(), rd(), rd(), rd(), rd(), rd(), rd()};
25 return std::mt19937{ss};
34 inline int get(
int min,
int max)
36 return std::uniform_int_distribution{min, max}(
mt);
55 return std::uniform_int_distribution<T>{min, max}(
mt);
65 template <
typename R,
typename S,
typename T>
68 return get<R>(
static_cast<R
>(min),
static_cast<R
>(max));
std::mt19937 generate()
Definition: Random.h:16
int get(int min, int max)
Definition: Random.h:34
std::mt19937 mt
Definition: Random.h:30