Class for creating several independent streams of random numbers using the method know as skip-ahead, or block-splitting.

Namespace:  CenterSpace.NMath.Core
Assembly:  NMath (in NMath.dll) Version: 5.1.0.0

Syntax

C#
public class SkipAheadRandomStreams : IndependentRandomStreams
Visual Basic (Declaration)
Public Class SkipAheadRandomStreams _
	Inherits IndependentRandomStreams
Visual C++
public ref class SkipAheadRandomStreams : public IndependentRandomStreams

Remarks

The independent sequences are created by splitting the original sequence into k non-overlapping blocks, where k is the number of independent streams. Each stream generates numbers only from its corresponding block.

Skip-ahead streams are only supported for basic random number generator types which provide a more efficient algorithm than generation of that full sequence to pick out a required subsequence. The static variable SkipAheadStream.SupportedGeneratorTypes constains a list of the supported types, which currently include:
RandomNumberStream.BasicRandGenType.MultiplicativeCongruent31,
RandomNumberStream.BasicRandGenType.MultipleRecursive2x3,
RandomNumberStream.BasicRandGenType.MultipleCongruential59,
RandomNumberStream.BasicRandGenType.WinchannHillCombined.

Inheritance Hierarchy

System..::.Object
  CenterSpace.NMath.Core..::.IndependentRandomStreams
    CenterSpace.NMath.Core..::.SkipAheadRandomStreams

See Also