Seed Sequences Class
Definition
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.3.0
public static class SeedSequences- Inheritance
- Object → SeedSequences
Remarks
Use the SeedSequences class to create SeedSequence instances that match the seeding behavior of other scientific computing libraries and languages, enabling bit-identical cross-platform reproducibility.
Each factory method produces a deterministic entropy stream based on documented reference algorithms from established implementations (NumPy, Java, legacy .NET, MT19937 reference code).
64-bit Seed Flattening Policy: When a ulong seed value is provided to a seed sequence, it is split into two 32-bit words in little-endian order: lo = (uint)seed and hi = (uint)(seed >> 32). This ensures no entropy loss and provides stable, portable mapping from 64-bit inputs into the 32-bit seed-sequence domain. For ulong[] arrays, each element is flattened in the same manner, producing 2 * seedArray.Length 32-bit words.
Methods
| CPlus | Creates a SeedSequence compatible with C++11 std::seed_seq. |
| CPlus | Creates a SeedSequence compatible with C++11 std::seed_seq using 32-bit seed words. |
| CPlus | Creates a SeedSequence compatible with C++11 std::seed_seq using multiple seed values. |
| Default( | Creates a SeedSequence using the SFC64 algorithm with optional streaming. |
| Default( | Creates a SeedSequence using the SFC64 algorithm with 32-bit seed words. |
| Default( | Creates a SeedSequence using the SFC64 algorithm with multiple seed values and optional streaming. |
| Direct( | Creates a SeedSequence that emits provided 32-bit values verbatim. |
| Direct( | Creates a SeedSequence that emits provided values verbatim. |
| Direct( | Creates a SeedSequence that emits a single provided value verbatim. |
| Independent | Creates a new seed sequence that is independent from other sequences generated by this method. |
| Num | Creates a SeedSequence compatible with NumPy's SeedSequence (v1.17+). |
| Num | Creates a SeedSequence compatible with NumPy's SeedSequence using 32-bit seed words. |
| Num | Creates a SeedSequence compatible with NumPy's SeedSequence (v1.17+) using multiple seed values. |
| 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. |