Seed Profile Enumeration
Specifies how seed material and stream indices are interpreted and expanded into RNG state.
Definition
Namespace: Numerics.NET.Random
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.3.0
C#
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.3.0
public enum SeedProfileRemarks
SeedProfile defines the seeding and stream contract for random number generators, expressing whose behavior we are matching, if any. It does not affect the RNG algorithm itself.
Profile semantics:
- Default: Try standard/reference initialization when available; otherwise fall back to seed-sequence-based initialization
- Standard: Strict canonical/reference initialization or throws
- SplitMix64: Explicit Numerics.NET SplitMix64-based expansion (via SeedSequence)
- Numpy: NumPy SeedSequence-based initialization (via SeedSequence)
- CPlusPlus: C++11 seed_seq-compatible expansion (via SeedSequence), may be standard-compatible for specific RNGs (MT19937-64)
- Direct: Direct state injection (input words + zero-fill), with invariant validation
Seeding profiles apply only during initialization. RNG state does not include seeding information.
Members
| Default | 0 | Default: tries standard/reference initialization when available; otherwise uses seed-sequence-based fallback. |
| Standard | 1 | Standard: strict canonical/reference initialization or throws. |
| Independent | 2 | A seeding profile that provides process-wide independent stream initialization. |
| SplitMix64 | 3 | SplitMix64: explicit SplitMix64-based seed expansion (via SeedSequence). |
| Numpy | 4 | NumPy: NumPy SeedSequence-based initialization (via SeedSequence). |
| CPlusPlus | 5 | CPlusPlus: C++11 seed_seq-compatible expansion (via SeedSequence). |
| Direct | 6 | Direct: direct state injection (input words + zero-fill). |