| |
The RNGTS project (Random Number GeneratorTest
Suite) supports a Framework to test random numbers for their
quality.
The heart of every Monte Carlo simulation is a source of
high quality random numbers and the generator has to be picked
carefully. Since the Ferrenberg affair it is known to a
broad community that statistical tests alone do not suffice to
determine
the quality of a generator, but also application-based tests are
needed.
With the inclusion of an extensible random number library and the
definition of a generic interface into the revised C++ standard it will
be important to have access to an extensive C++ random number test
suite. Most currently available test suites are limited to a subset of
tests are written in Fortran or C and cannot easily be used with the
C++
random number generator library.
The
RNGTS project is a generic random number test suite written in C++. The
framework is based on the Boost reference implementation of the
forthcoming C++ standard random number generator library. The Boost
implementation so far contains
most modern random number generators. Employing generic programming
techniques the test suite is flexible, easily extensible and can be
used
with any random number generator library, including those written in C
and Fortran. Test results are produced in an XML format, which through
the use of XSLT transformations allows extraction of summaries or
detailed reports, and conversion to HTML, PDF, PostScript or any other
format.
At this
time, the test suite contains a wide range of different test, including
the standard tests described by Knuth, Vattulainen's physical tests,
parts of Marsaglia's 'Diehard' test suite, and a number of number of
newer tests.
Current status
The first version 1.0 has been released the 04 June 2004
- The Diehard Tests are included now
- Multiple other new tests were added
- 'iterate_test' support for the 'MultipleTest' class
added
History
This is the first version (1.0 alpha) of the RNGTS project
- 22 different random number generator tests (all from
Knuth, some from 'Diehard' and the 'Helsinki' suite)
- supports all random number generator from boost which
meet the standard (WG21
Proposal,IV. Proposed Text)
Future Plans
For the next release we plan to provide in addition the following
components:
- Tests, we want to have more Tests...
License
The codes in the RNGTS project are free for
non-commercial scientific use as long as the use of RNGTS is
acknowledged and cited in any scientific publication based partially or
fully on RNGTS libraries and the RNGTS applications, as discussed in
the library
license, and application
license files.
If you are interested in the project or in contributing
please consult one of the mailing lists.
|