Click or drag to resize

SplitMix Class

SplitMix uses a simple internal state transition (a Weyl sequence based on adding a constant related to the golden ratio) combined with a fast, invertible mixing function to produce high-quality output bits.
Inheritance Hierarchy
SystemObject
  SystemRandom
    Orthogonal.Common.Basic.PRNGRandCustomBase
      Orthogonal.Common.Basic.PRNGSplitMix

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

The SplitMix type exposes the following members.

Constructors
 NameDescription
Public methodSplitMixInitializes a new instance of the SplitMix class
Public methodSplitMix(Int64)Initializes a new instance of the SplitMix class
Top
Methods
 NameDescription
Public methodNextInt64
(Overrides RandCustomBaseNextInt64)
Top
Remarks

For more information see Fast splittable pseudorandom number generators.

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 |
            168,320,583,161 | 14154365 0000000000D7FA7D | 9223372036818997015 7FFFFFFFFDDE0F17 |
            

See Also