util/random_gen.hpp
Required by
Verified with
Code
#pragma once
#include<random>
#include<chrono>
struct RandomNumberGenerator {
std::mt19937 mt;
RandomNumberGenerator() : mt(std::chrono::steady_clock::now().time_since_epoch().count()) {}
int operator()(int a, int b) { // [a, b)
std::uniform_int_distribution< int > dist(a, b - 1);
return dist(mt);
}
int operator()(int b) { // [0, b)
return (*this)(0, b);
}
};
#line 2 "util/random_gen.hpp"
#include<random>
#include<chrono>
struct RandomNumberGenerator {
std::mt19937 mt;
RandomNumberGenerator() : mt(std::chrono::steady_clock::now().time_since_epoch().count()) {}
int operator()(int a, int b) { // [a, b)
std::uniform_int_distribution< int > dist(a, b - 1);
return dist(mt);
}
int operator()(int b) { // [0, b)
return (*this)(0, b);
}
};
Back to top page