// // lehmer.cpp // rng // // Created by Asher Falcon on 20/06/2025. // #include "../../rng.h" #include "../generator.h" // parameters recommended by Nakazawa & Nakazawa // https://en.wikipedia.org/wiki/Lehmer_random_number_generator namespace splat { class lehmer_generator : public PRNG { public: lehmer_generator(uint32_t genSeed) : PRNG(genSeed) { seed = genSeed; } uint32_t generate() override { seed = (a * seed) % m; return seed; } std::string getName() override { return "lehmer"; } private: uint64_t a = 7759097958782935LL; uint64_t m = 18055400005099021LL; }; }