Split Mix 64.Mix Method
Applies the SplitMix64 mixing function to a 64-bit value.
Definition
Namespace: Numerics.NET.Random
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.3.0
C#
The mixed 64-bit value.
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.3.0
public static ulong Mix(
ulong x
)Parameters
- x UInt64
- The input value to mix.
Return Value
UInt64The mixed 64-bit value.
Remarks
This is the SplitMix64 finalizer/mixer function used for entropy expansion. It provides excellent avalanche properties and is used by:
- Xoshiro/Xoroshiro seeding (Vigna reference)
- Java's SplittableRandom
- General-purpose high-entropy state fill
Reference: Guy L. Steele Jr., Doug Lea, and Christine H. Flood. "Fast splittable pseudorandom number generators." OOPSLA 2014.