X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=testing%2Flib%2Frandom.hpp;h=19ff4f8b32700a24c125ff4bcc8912d6a84aeaf4;hb=b5ed9c3cab58f1a8e519d5551951ab8c25fc3b84;hp=208b09f43daac11ff5965a24e3471bff939424d5;hpb=d1c9b695e9b3fbfcc94230a242b0290b43f27006;p=awesomized%2Flibmemcached diff --git a/testing/lib/random.hpp b/testing/lib/random.hpp index 208b09f4..19ff4f8b 100644 --- a/testing/lib/random.hpp +++ b/testing/lib/random.hpp @@ -1,6 +1,8 @@ #pragma once #include +#include +#include #include #include #include @@ -10,9 +12,19 @@ using namespace std; using kv_pair = pair; template -enable_if_t, T> random_num(T min, T max); +enable_if_t, T> random_num(T min, T max) { + using namespace chrono; + using rnd = mt19937; + using dst = uniform_int_distribution; + + auto time = duration_cast(system_clock::now().time_since_epoch()); + auto seed = static_cast(time.count() % numeric_limits::max()); + auto rgen = rnd{seed}; + return dst(min, max)(rgen); +} unsigned random_port(); +string random_port_string(const string &); char random_ascii(char min = '!', char max = '~'); string random_ascii_string(size_t len, char min = '!', char max = '~');