Seed Sequences.Split Mix 64 Method
Definition
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.3.0
Overload List
| Split | Creates a SeedSequence using the SplitMix64 algorithm with optional streaming. |
| Split | Creates a SeedSequence using the SplitMix64 algorithm with 32-bit seed words. |
| Split | Creates a SeedSequence using the SplitMix64 algorithm with multiple seed values and optional streaming. |
SplitMix64(Int64, StreamAddress)
public static SeedSequence SplitMix64(
long seed,
StreamAddress streamAddress = default
)Parameters
- seed Int64
- The initial seed value.
- streamAddress StreamAddress (Optional)
- Optional stream address for stream derivation.
Return Value
SeedSequenceA SeedSequence based on SplitMix64.
Remarks
This is the recommended factory method for creating seed algorithms. It uses SplitMix64 mixing with support for stream derivation.
If streamAddress is provided, all its segments are mixed into the initial state to produce a distinct sequence for each stream.
SplitMix64(ReadOnlySpan<UInt32>, StreamAddress)
public static SeedSequence SplitMix64(
ReadOnlySpan<uint> seeds,
StreamAddress streamAddress = default
)Parameters
- seeds ReadOnlySpan<UInt32>
- The 32-bit seed words to absorb into the initial state.
- streamAddress StreamAddress (Optional)
- Optional stream address for stream derivation.
Return Value
SeedSequenceA SeedSequence based on SplitMix64.
Remarks
This factory method accepts 32-bit seed words, which are packed into 64-bit values in little-endian order before being absorbed into the SplitMix64 state.
If streamAddress is provided, all its segments are mixed into the state after all seed values to produce a distinct sequence for each stream.
SplitMix64(ReadOnlySpan<UInt64>, StreamAddress)
public static SeedSequence SplitMix64(
ReadOnlySpan<ulong> seeds,
StreamAddress streamAddress = default
)Parameters
- seeds ReadOnlySpan<UInt64>
- The seed values to absorb into the initial state.
- streamAddress StreamAddress (Optional)
- Optional stream address for stream derivation.
Return Value
SeedSequenceA SeedSequence based on SplitMix64.
Remarks
This factory method accepts multiple seed values, which are absorbed into the initial state using SplitMix64 mixing with Golden Ratio increments.
If streamAddress is provided, all its segments are mixed into the state after all seed values to produce a distinct sequence for each stream.