#include "../rng.h" #include "./generator.h" #include #include "./xorshift.h" // parameters recommended by Nakazawa & Nakazawa // https://en.wikipedia.org/wiki/Lehmer_random_number_generator namespace splat { xorshift32_generator::xorshift32_generator(uint32_t genSeed) : PRNG(genSeed) { state = genSeed; } u_int32_t xorshift32_generator::generate() { state ^= state << 13; state ^= state >> 17; state ^= state << 5; return state; } std::string xorshift32_generator::getName() { return "xorshift32"; } }