Table of Contents

Namespace Mrg32k3a.NET

Classes

RandomStream

One stream of the MRG32k3a generator: a virtual random number generator occupying its own block of 2^127 values, itself divided into 2^51 substreams of 2^76 values.

RandomStreamFactory

A source of non-overlapping RandomStream instances. The factory owns a seed and a creation order: the first stream it hands out starts at that seed, and every later stream starts 2^127 values beyond the one before it.

RandomStreamFactoryState

A transferable snapshot of everything a RandomStreamFactory needs in order to resume: its seed, and how many streams it has already handed out.

RandomStreamState

A transferable snapshot of everything a RandomStream needs in order to resume: its initial state, the start of its current substream, its current state, the index of that substream, and its two output flags.

StreamBackedRandom

Presents a RandomStream as a Random, so a stream can be handed to any API or library that asks for the framework type.

Structs

Mrg32k3aState

The six values that make up a position of the MRG32k3a generator, used both as a factory seed and as the state of a stream.