Finalized the implementation

This commit is contained in:
2026-09-13 21:18:23 +03:00
parent 3df8ce7717
commit 5a68245703
12 changed files with 209 additions and 3 deletions
+34
View File
@@ -0,0 +1,34 @@
#include "generator.h"
#include "impl_generator.h"
#include "input_parsing.h"
#include "mersenne_generator.h"
#include "device_generator.h"
#include <memory>
Generator::Generator(const ProgramOptions& options): m_options{options}
{
if (m_options.seed != std::nullopt)
{
impl = std::make_unique<MersenneGenerator>(*m_options.seed, m_options.max_range,
m_options.num_entries);
}
else
{
impl= std::make_unique<DeviceGenerator>(m_options.max_range,
m_options.num_entries);
}
}
int Generator::get_next_num()
{
if (impl->has_more_numbers())
{
return impl->get_next_num();
}
else
{
return NO_MORE_NUMBERS;
}
}