This version: May 16, 2013
TestU01
A Software Library in ANSI C
for Empirical Testing of Random Number Generators
User’s guide, detailed version
Pierre L’Ecuyer and Richard Simard
D´epartement d’Informatique et de Recherche Op´erationnelle
Universit´e de Montr´eal
This document describes the software library TestU01, implemented in the ANSI C lan-
guage, and offering a collection of utilities for the (empirical) statistical testing of uniform
random number generators (RNG).
The library implements several types of generators in generic form, as well as many
specific generators proposed in the literature or found in widely-used software. It provides
general implementations of the classical statistical tests for random number generators, as
well as several others proposed in the literature, and some original ones. These tests can be
applied to the generators predefined in the library and to user-defined generators. Specific
tests suites for either sequences of uniform random numbers in [0, 1] or bit sequences are also
available. Basic tools for plotting vectors of points produced by generators are provided as
well.
Additional software permits one to perform systematic studies of the interaction between
a specific test and the structure of the point sets produced by a given family of RNGs. That
is, for a given kind of test and a given class of RNGs, to determine how large should be the
sample size of the test, as a function of the generator’s period length, before the generator
starts to fail the test systematically.