Use std::minstd_rand and split serialization from save/load

This commit is contained in:
ζeh Matt 2022-03-17 17:35:34 +02:00
parent 0611a8c3a7
commit f8f3bb2421
No known key found for this signature in database
GPG key ID: 18CE582C71A225B0
3 changed files with 27 additions and 41 deletions

View file

@ -2,6 +2,7 @@
#include <chrono>
#include <random>
#include <sstream>
#include <components/debug/debuglog.hpp>
@ -14,6 +15,23 @@ namespace Misc::Rng
return sGenerator;
}
std::string serialize(const Generator& prng)
{
std::stringstream ss;
ss << prng;
return ss.str();
}
void deserialize(std::string_view data, Generator& prng)
{
std::stringstream ss;
ss << data;
ss.seekg(0);
ss >> prng;
}
unsigned int generateDefaultSeed()
{
auto res = static_cast<unsigned int>(std::chrono::high_resolution_clock::now().time_since_epoch().count());
@ -65,4 +83,5 @@ namespace Misc::Rng
{
return std::uniform_real_distribution<float>(mean - deviation, mean + deviation)(prng);
}
}