Skip to content

Commit

Permalink
jl_rng_split: fix linear possible correlation between four tasks
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
StefanKarpinski committed Feb 27, 2024
1 parent 35cb8a5 commit 9b691d9
Showing 1 changed file with 142 additions and 198 deletions.
Loading

0 comments on commit 9b691d9

Please sign in to comment.