# BRNG Implementations and Categories

Three implementations are available for every BRNG:

1. integer implementation (output is a 32-bit integer sequence)

2. real (single precision)

3. real (double precision)

# Interpreting Test Results

Testing a generator for all possible seeds and sampling sizes is hardly practicable. Therefore, only a few subsequences of various lengths are actually tested.

# One-Level (Threshold) Testing

To test K subsequences u1, u2, ..., un; un+1, un+2, ..., u2n; ...; u(K-1)n

# Two-Level Testing

To test K subsequences u1, u2, ..., un; un+1, un+2, ..., u2n; ...; u(K-1)n

# BRNG Tests Description

Most of empirical tests used for the VSL BRNGs are well documented (for example, see [Mars95], [Ziff98]). This section describes these tests and the testing procedure in greater detail since tests may vary in their applicability and implementation for a particular BRNG. In addition, this section provides figures of merit that are used to decide on passing vs.

# 3D Spheres Test

#### Test Purpose

The test uses simulation to evaluate the randomness of the triplets of sequential random numbers of uniform distribution. The stable response is the volume of the sphere. The radius of the sphere is equal to the minimal distance between the generated 3D points.

# Birthday Spacing Test

#### Test Purpose

The test uses simulation to evaluate the randomness of groups of 24 sequential bits of the integer output of a BRNG. The test analyzes all possible groups of the kind, that is, for example, from 0 to 23 bit, from 1 to 24 bit, and so on.

# Bitstream Test

#### Test Purpose

The test uses simulation to check if it is possible to interpret the integer output of a BRNG as a sequence of random bits.

Note

The bit precision of a BRNG defines the sequence of random bits formation. For example, only 59 lower bits take part in the bit stream formation for the MCG59 generator, and only 31 lower bits for the MCG31 generator.

# Rank of 31x31 Binary Matrices Test

#### Test Purpose

The test evaluates the randomness of 31-bit groups of 31 sequential random numbers of the integer output. The stable response is the rank of the binary matrix composed of the random numbers. The test performs iterations for all possible 31-bit groups of bits (0-30, 1-31, ...) for generators with more than 31 bit precision.

# Rank of 32x32 Binary Matrices Test

#### Test Purpose

The test evaluates the randomness of 32-bit groups of 32 sequential random numbers of the integer output. The stable response is the rank of the binary matrix composed of the random numbers. The test performs iterations for all possible 32-bit groups of bits (0-31, 1-32,...) for the generators with the bit precision of more than 32 bits.