Class XoRoShiRo1024Star

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

public class XoRoShiRo1024Star extends AbstractXoRoShiRo1024
A large-state 64-bit generator suitable for double generation. This is slightly faster than the all-purpose generator XoRoShiRo1024PlusPlus.

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

Since:
1.3
See Also:
  • Constructor Details

    • XoRoShiRo1024Star

      public XoRoShiRo1024Star(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.
    • XoRoShiRo1024Star

      protected XoRoShiRo1024Star(XoRoShiRo1024Star 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 XoRoShiRo1024Star copy()
      Create a copy.
      Specified by:
      copy in class AbstractXoRoShiRo1024
      Returns:
      the copy