#pragma once #include <random> namespace Random { extern std::mt19937 GENERATOR; template<typename T> T uniform(T from, T to) { std::uniform_int_distribution<T> rand(from, to); return rand(GENERATOR); } template<typename T> T uniform_real(T from, T to) { std::uniform_real_distribution<T> rand(from, to); return rand(GENERATOR); } template<typename T> T normal(T from, T to) { std::normal_distribution<T> rand(from, to); return rand(GENERATOR); } }