void QuickSortTest::SetUp(){ std::random_device rnd_device; std::mt19937 mersenne_engine(rnd_device()); std::uniform_int_distribution<int> dist(1, 100); auto gen = std::bind( dist, mersenne_engine ); std::generate( std::begin( d_array ), std::end( d_array ), gen ); }
static std::vector<float> batch_generate (size_t n, size_t batchsize) { size_t total = n * batchsize; // Specify the engine and distribution. std::mt19937 mersenne_engine(llo::get_engine()()); std::uniform_real_distribution<float> dist(0, 1); auto gen = std::bind(dist, mersenne_engine); std::vector<float> vec(total); std::generate(std::begin(vec), std::end(vec), gen); return vec; }
int main() { disable_sigint(); std::random_device rnd_device; std::mt19937 mersenne_engine(rnd_device()); std::uniform_int_distribution<size_t> dist(1, 20); auto gen = std::bind(dist, mersenne_engine); size_t i = 0; for (;;) { if ((i % (16 * 1024)) == 0) { if (is_sigint_pending()) break; std::cout << '.' << std::flush; } size_t size = gen(); std::vector<char> input = random_vector(size, mersenne_engine); /*write_string_screened(std::cout, std::string(input.begin(), input.end())); std::cout << std::endl;*/ input.push_back(guard_value); lexer lex(input.data(), input.data() + input.size() - 1); token tok = lex.fetch(true); for (;;) { if (tok.tok_type == token_type::eof) break; tok = lex.fetch(false); } ++i; } std::cout << "run " << i << " times\n"; }