Class PcgMcgXshRs32

All Implemented Interfaces:
RandomIntSource, RestorableUniformRandomProvider, UniformRandomProvider

public class PcgMcgXshRs32 extends AbstractPcgMcg6432
A Permuted Congruential Generator (PCG) that is composed of a 64-bit Multiplicative Congruential Generator (MCG) combined with the XSH-RS (xorshift; random shift) output transformation to create 32-bit output.

State size is 64 bits and the period is 262.

Since:
1.3
See Also:
  • Constructor Details

    • PcgMcgXshRs32

      public PcgMcgXshRs32(Long seed)
      Creates a new instance.
      Parameters:
      seed - Initial seed.
  • Method Details

    • transform

      protected int transform(long x)
      Transform the 64-bit state of the generator to a 32-bit output. The transformation function shall vary with respect to different generators.
      Specified by:
      transform in class AbstractPcgMcg6432
      Parameters:
      x - State.
      Returns:
      the output