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;