Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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.
- Loading branch information