Class XorShift128

java.lang.Object
io.github.olyutorskii.aletojio.rng.xorsft.XorShift128
All Implemented Interfaces:
RndInt32

public class XorShift128 extends Object implements RndInt32
xorshift (128bit) Pseudo Random Generator.

Warning: The default seed value will give a very biased result.

See Also:
  • Constructor Details

    • XorShift128

      public XorShift128()
      Constructor.

      Warning: The default seed value will give a very biased result.

  • Method Details

    • nextInt32

      public int nextInt32()
      Return next random number as 32bit int with random sign-bit.
      Specified by:
      nextInt32 in interface RndInt32
      Returns:
      random number
    • setSeed

      public void setSeed(int s0Arg, int s1Arg, int s2Arg, int s3Arg) throws IllegalArgumentException
      Set seed.

      At least one seed must be non-zero.

      Parameters:
      s0Arg - seed0
      s1Arg - seed1
      s2Arg - seed2
      s3Arg - seed3
      Throws:
      IllegalArgumentException - At least one seed must be non-zero