7 #ifndef RANDOMWRAPPER_H__
8 #define RANDOMWRAPPER_H__
33 template <
typename IntegerType = u
int32_t>
35 std::uniform_int_distribution<IntegerType> dist(min, max);
36 return dist(Engine());
43 template <
typename FloatType =
double>
45 std::uniform_real_distribution<FloatType> dist(min, max);
46 return dist(Engine());
65 std::shuffle(vec->begin(), vec->end(), Engine());
69 std::mt19937& Engine();
72 std::optional<std::mt19937> engine_;
77 #endif // RANDOMWRAPPER_H__