Description
The increment of the PCG generator serves to select the underlying linear congruential generator (LCG) from 2 classes of related generators. Thus initialisation of generators using different increments can result in PCG output with massive correlations. The result is that seeding with 128-bits does not reduce the chance of correlated output over seeding with just 64-bits and using a fixed increment. See RNG-123.
Create a fixed increment version of the three PCG generators which currently accept the increment in their seed:
PCG_XSH_RR_32 => PCG_XSH_RR_32_OS PCG_XSH_RS_32 => PCG_XSH_RS_32_OS PCG_RXS_M_XS_64 => PCG_RXS_M_XS_64_OS
Here the _OS suffix represents One Sequence. The equivalent PCG generators in the reference c++ source code have a _oneseq suffix.
Attachments
Issue Links
- links to