diff --git a/pcg_basic.c b/pcg_basic.c index 8c2fd0d..be6201e 100644 --- a/pcg_basic.c +++ b/pcg_basic.c @@ -61,7 +61,7 @@ uint32_t pcg32_random_r(pcg32_random_t* rng) { uint64_t oldstate = rng->state; rng->state = oldstate * 6364136223846793005ULL + rng->inc; - uint32_t xorshifted = ((oldstate >> 18u) ^ oldstate) >> 27u; + uint32_t xorshifted = oldstate >> 27 ^ oldstate >> 45; uint32_t rot = oldstate >> 59u; return (xorshifted >> rot) | (xorshifted << ((-rot) & 31)); }