Class XoShiRo256Plus

java.lang.Object
All Implemented Interfaces:
RandomLongSource, RestorableUniformRandomProvider, UniformRandomProvider

public class XoShiRo256Plus
extends LongProvider
A fast 64-bit generator suitable for double generation. This is slightly faster than the all-purpose generator XoShiRo256StarStar.

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

Since:
1.3
See Also:
Original source code, xorshiro / xoroshiro generators
  • Field Details

    • state0

      protected long state0
      State 0 of the generator.
    • state1

      protected long state1
      State 1 of the generator.
    • state2

      protected long state2
      State 2 of the generator.
    • state3

      protected long state3
      State 3 of the generator.
  • Constructor Details

    • XoShiRo256Plus

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

      public XoShiRo256Plus​(long seed0, long seed1, long seed2, long seed3)
      Creates a new instance using a 4 element seed. A seed containing all zeros will create a non-functional generator.
      Parameters:
      seed0 - Initial seed element 0.
      seed1 - Initial seed element 1.
      seed2 - Initial seed element 2.
      seed3 - Initial seed element 3.
  • Method Details