Skip to content

Commit 9bc2c6c

Browse files
jl_rng_split: fix linear possible correlation between four tasks
In response to the demonstrated ease of constructing linearly correlated task states, and thus linearly related task RNG outputs, this change departs from using linear mixing for the compression function, which is simply dot product in those RNGs. I've shown that we can use any mixing function that's doubly bijective. This change uses `(2c+1)(2w+1)>>1` to mix the LCG state and the xoshiro register state and _then_ applies the PCG output function, which is designed to mask linearity.
1 parent 2b79326 commit 9bc2c6c

File tree

1 file changed

+143
-198
lines changed

1 file changed

+143
-198
lines changed

0 commit comments

Comments
 (0)