20 lines
482 B
C++
20 lines
482 B
C++
#include "mersenne_generator.h"
|
|
#include <random>
|
|
|
|
MersenneGenerator::MersenneGenerator(int seed, int max_range, int nr_entries)
|
|
: ImplGenerator{nr_entries}
|
|
{
|
|
m_seed = seed;
|
|
m_max_range = max_range;
|
|
m_nr_entries = nr_entries;
|
|
}
|
|
|
|
int MersenneGenerator::get_next_num_internal()
|
|
{
|
|
std::mt19937 gen(m_seed); // mersenne_twister_engine seeded with rd()
|
|
std::uniform_int_distribution<> distrib(0, m_max_range);
|
|
|
|
internal_counter++;
|
|
|
|
return distrib(gen);
|
|
} |