[Issue 10572] New: Test suite for std.random
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Mon Jul 8 06:42:41 PDT 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10572
Summary: Test suite for std.random
Product: D
Version: D2
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: P2
Component: Phobos
AssignedTo: nobody at puremagic.com
ReportedBy: joseph.wakeling at webdrake.net
--- Comment #0 from Joseph Rushton Wakeling <joseph.wakeling at webdrake.net> 2013-07-08 06:42:39 PDT ---
Random number generation in Phobos needs an effective battery of tests to
ensure that users are being delivered a solution of sufficient statistical
quality.
Part of this can be done in unittests, e.g. testing PRNGs' output against
sequences from reference implementations. However, more rigorous tests of
randomness require extensive computation and would be too time- and
resource-intensive for inclusion in the standard Phobos test suite.
So, I propose the creation of an independent test suite specifically for use
with std.random. To the greatest possible degree this suite should re-use
existing established tools rather than re-implementing known tests. Some
examples include:
* TestU01 <https://en.wikipedia.org/wiki/TestU01>, an extensive suite of
tests which can be applied in varying degrees of intensity (from SmallCrush, 10
tests which take a total of about 2 mins, to BigCrush, 106 tests which take a
total of about 12 hours).
* Dieharder <http://www.phy.duke.edu/~rgb/General/dieharder.php>, a successor
to Marsiglia's Diehard battery of tests which is readily available in Linux
distros.
The suite could also include a number of simpler "eye" tests which allow
developers to check that their work does not introduce "obvious" departures
from statistical correctness.
Its purpose should be doubly to allow Phobos contributors to make fast working
checks on the statistical validity of their code while developing or debugging,
and to allow Phobos maintainers to enforce rigorous quality standards when
accepting changes to std.random.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list