Click or drag to resize

RandXoshiro256PlusPlus Class

An implementation of the xoshiro256++ PRNG which stores state in 4 x 64-bit numbers. The authors call it: one of our all-purpose, rock-solid generators. It has excellent(sub-ns) speed, a state(256 bits) that is large enough for any parallel application, and it passes all tests we are aware of.
Inheritance Hierarchy
SystemObject
  SystemRandom
    Orthogonal.Common.Basic.PRNGRandCustomBase
      Orthogonal.Common.Basic.PRNGRandXoshiro256PlusPlus

Namespace: Orthogonal.Common.Basic.PRNG
Assembly: Orthogonal.Common.Basic (in Orthogonal.Common.Basic.dll) Version: 3.2.8
Syntax
C#
public class RandXoshiro256PlusPlus : RandCustomBase

The RandXoshiro256PlusPlus type exposes the following members.

Constructors
 NameDescription
Public methodRandXoshiro256PlusPlusInitializes a new instance of the RandXoshiro256PlusPlus class
Public methodRandXoshiro256PlusPlus(Int64, Int64, Int64, Int64)Initializes a new instance of the RandXoshiro256PlusPlus class
Top
Methods
 NameDescription
Public methodNextInt64
(Overrides RandCustomBaseNextInt64)
Top
Remarks

For more information see xoshiro / xoshiro generators and the PRNG shootout.

Long running tests have observed the expected minimum value 0 (0x0) and maximum 2147483646 (0x7FFFFFFE). Looping to find the Int64 limits reached these values:

                       LOOP |                   MINIMUM |                              MAXIMUM |
            227,676,370,856 | 65476086 0000000003E715F6 | 9223372036805982411 7FFFFFFFFD1778CB |
            

See Also