SeedSequences.CPlusPlus Method

Definition

Namespace: Numerics.NET.Random
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.3.0

Overload List

CPlusPlus(Int64, StreamAddress) Creates a SeedSequence compatible with C++11 std::seed_seq.
CPlusPlus(ReadOnlySpan<UInt32>, StreamAddress) Creates a SeedSequence compatible with C++11 std::seed_seq using 32-bit seed words.
CPlusPlus(ReadOnlySpan<UInt64>, StreamAddress) Creates a SeedSequence compatible with C++11 std::seed_seq using multiple seed values.

CPlusPlus(Int64, StreamAddress)

Creates a SeedSequence compatible with C++11 std::seed_seq.
C#
public static SeedSequence CPlusPlus(
	long seed,
	StreamAddress streamAddress = default
)

Parameters

seed  Int64
The initial seed value.
streamAddress  StreamAddress  (Optional)
Optional stream address for stream derivation.

Return Value

SeedSequence
A SeedSequence compatible with C++11 std::seed_seq.

Remarks

This method creates a seed sequence that uses the C++11 std::seed_seq algorithm for state initialization. The algorithm is based on the reference implementation from the C++11 standard library.

If streamAddress is provided, all its segments are mixed into the seed values to produce a distinct sequence for each stream.

Note: This provides C++11 std::seed_seq expansion semantics. For MT19937-64, this may be used as a standard-compatible initialization path.

CPlusPlus(ReadOnlySpan<UInt32>, StreamAddress)

Creates a SeedSequence compatible with C++11 std::seed_seq using 32-bit seed words.
C#
public static SeedSequence CPlusPlus(
	ReadOnlySpan<uint> seeds,
	StreamAddress streamAddress = default
)

Parameters

seeds  ReadOnlySpan<UInt32>
The 32-bit seed words.
streamAddress  StreamAddress  (Optional)
Optional stream address for stream derivation.

Return Value

SeedSequence
A SeedSequence compatible with C++11 std::seed_seq.

Remarks

This method creates a seed sequence that uses the C++11 std::seed_seq algorithm for state initialization. The algorithm is based on the reference implementation from the C++11 standard library.

If streamAddress is provided, all its segments are appended to the seed values to produce a distinct sequence for each stream.

CPlusPlus(ReadOnlySpan<UInt64>, StreamAddress)

Creates a SeedSequence compatible with C++11 std::seed_seq using multiple seed values.
C#
public static SeedSequence CPlusPlus(
	ReadOnlySpan<ulong> seeds,
	StreamAddress streamAddress = default
)

Parameters

seeds  ReadOnlySpan<UInt64>
The initial seed values.
streamAddress  StreamAddress  (Optional)
Optional stream address for stream derivation.

Return Value

SeedSequence
A SeedSequence compatible with C++11 std::seed_seq.

Remarks

This method creates a seed sequence that uses the C++11 std::seed_seq algorithm for state initialization. The algorithm is based on the reference implementation from the C++11 standard library.

If streamAddress is provided, all its segments are appended to the seed values to produce a distinct sequence for each stream.

See Also