Class XoRoShiRo1024PlusPlus

All Implemented Interfaces:
RandomLongSource, JumpableUniformRandomProvider, LongJumpableUniformRandomProvider, RestorableUniformRandomProvider, UniformRandomProvider

public class XoRoShiRo1024PlusPlus extends AbstractXoRoShiRo1024
A large-state all-purpose 64-bit generator.

This is a member of the Xor-Shift-Rotate family of generators. Memory footprint is 1024 bits and the period is 21024-1.

Note: This can be used as a replacement for XorShift1024Star.

Since:
1.3
See Also:
  • Constructor Details

    • XoRoShiRo1024PlusPlus

      public XoRoShiRo1024PlusPlus(long[] seed)
      Creates a new instance.
      Parameters:
      seed - Initial seed. If the length is larger than 16, only the first 16 elements will be used; if smaller, the remaining elements will be automatically set. A seed containing all zeros will create a non-functional generator.
    • XoRoShiRo1024PlusPlus

      protected XoRoShiRo1024PlusPlus(XoRoShiRo1024PlusPlus source)
      Creates a copy instance.
      Parameters:
      source - Source to copy.
  • Method Details

    • transform

      protected long transform(long s0, long s15)
      Transform the two consecutive 64-bit states of the generator to a 64-bit output. The transformation function shall vary with respect to different generators.
      Specified by:
      transform in class AbstractXoRoShiRo1024
      Parameters:
      s0 - The current state.
      s15 - The previous state.
      Returns:
      the output
    • copy

      protected XoRoShiRo1024PlusPlus copy()
      Create a copy.
      Specified by:
      copy in class AbstractXoRoShiRo1024
      Returns:
      the copy