From 485f1b2164845377447d96e862d01c712a981812 Mon Sep 17 00:00:00 2001 From: Trianta <56975502+Trimutex@users.noreply.github.com> Date: Fri, 8 Dec 2023 18:19:14 -0600 Subject: [PATCH] Added randomization --- src/generator.cpp | 20 +++++++++++++++++++- src/generator.hpp | 5 ++++- src/main.cpp | 1 + 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/generator.cpp b/src/generator.cpp index ab8f2d1..93b6a42 100644 --- a/src/generator.cpp +++ b/src/generator.cpp @@ -1,6 +1,23 @@ #include "generator.hpp" +#include #include #include +#include + +std::default_random_engine generator; +void InitializeGenerator(void) +{ + generator.seed(std::random_device{}()); +} + +// Returns a newly generated number +int GenerateRandomNumber(int generationLimit) +{ + int generatedNumber; + std::uniform_int_distribution<> distribution(0, generationLimit - 1); + generatedNumber = distribution(snakeplusplus::generator); + return generatedNumber; +} void Trie::insert(const std::deque& currentKGram) { @@ -84,7 +101,8 @@ void Generator::ReadFile(void) { void Generator::GenerateOutput(void) { } -char GenerateCharacter(void) { +char Generator::GenerateCharacter(void) { + double roll = ((double) GenerateRandomNumber(RAND_MAX)) / ((double) RAND_MAX); return 'z'; } diff --git a/src/generator.hpp b/src/generator.hpp index 5c5e76f..12bb53d 100644 --- a/src/generator.hpp +++ b/src/generator.hpp @@ -5,7 +5,8 @@ #include #include -void PrintUsage(void); +void InitializeGenerator(void); +int GenerateRandomNumber(int generationLimit); struct ArgumentList { std::string filename = ""; @@ -48,4 +49,6 @@ private: Trie trie; }; +void PrintUsage(void); + #endif // !GENERATOR_HPP diff --git a/src/main.cpp b/src/main.cpp index 56497de..c356a50 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -7,6 +7,7 @@ int main(int argc, char* argv[]) { } Generator markovChain; markovChain.SetArguments(argc, argv); + InitializeGenerator(); markovChain.ReadFile(); markovChain.GenerateOutput(); return 0;