mirror of
https://github.com/boostorg/random.git
synced 2026-01-24 06:02:15 +00:00
111 lines
4.1 KiB
HTML
111 lines
4.1 KiB
HTML
<html>
|
|
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
|
|
<title>Boost Random Number Library</title>
|
|
</head>
|
|
|
|
<body bgcolor="#FFFFFF" text="#000000">
|
|
|
|
<table border="1" bgcolor="#007F7F" cellpadding="2">
|
|
<tr>
|
|
<td bgcolor="#FFFFFF"><img src="../../c++boost.gif" alt="c++boost.gif (8819 bytes)" width="277" height="86"></td>
|
|
<td><a href="../../index.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>Home</big></font></a></td>
|
|
<td><a href="../libraries.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>Libraries</big></font></a></td>
|
|
<td><a href="../../people/people.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>People</big></font></a></td>
|
|
<td><a href="../../more/faq.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>FAQ</big></font></a></td>
|
|
<td><a href="../../more/index.htm"><font face="Arial,Helvetica" color="#FFFFFF"><big>More</big></font></a></td>
|
|
</tr>
|
|
</table>
|
|
|
|
<h1>Boost Random Number Library</h1>
|
|
|
|
By <a href="../../people/jens_maurer.htm">Jens Maurer</a>
|
|
|
|
<p>
|
|
You should read the
|
|
<a href="random-concepts.html">concepts documentation</a> before
|
|
moving on.
|
|
|
|
<p>
|
|
For a quick start, it may be sufficient to have a look at
|
|
<a href="random_demo.cpp">random_demo.cpp</a>.
|
|
|
|
<p>
|
|
|
|
<table border="1" cellpadding="5">
|
|
<tr>
|
|
<td align="center"><b><i>Header</i></b></td>
|
|
<td align="center"><b><i>Contents</i></b></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center"><code><a href="../../boost/random.hpp"><boost/random.hpp></a></code>
|
|
<p><a href="random-generators.html">documentation for generators</a><br>
|
|
<a href="random-distributions.html">documentation for distributions</a><br>
|
|
<a href="random-misc.html">documentation for miscellaneous classes</a></td>
|
|
<td>Pseudo-random number generators (linear congruential, inversive
|
|
congruential, and others), distribution functions (uniform, normal,
|
|
exponential, and others) and miscellaneous decorator classes such as
|
|
<strong>random_number_generator</strong> for use in simulations,
|
|
games, and testing.</td>
|
|
</tr>
|
|
<tr>
|
|
<td align="center"><code><a href="../../boost/nondet_random.hpp"><boost/nondet_random.hpp></a></code>
|
|
<p><a href="nondet_random.html">documentation</a></td>
|
|
<td>Non-deterministic random number generators.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p>
|
|
|
|
An extensive test suite for the pseudo-random number generators and
|
|
distributions is available as
|
|
<a href="random_test.cpp">random_test.cpp</a>.
|
|
|
|
|
|
<h2>Rationale</h2>
|
|
|
|
The methods for generating and evaluating deterministic and
|
|
non-deterministic random numbers differ radically. Furthermore, due
|
|
to the inherent deterministic design of present-day computers, it is
|
|
often difficult to implement non-deterministic random number
|
|
generation facilities. Thus, the random number library is split into
|
|
separate header files, mirroring the two different application
|
|
domains.
|
|
|
|
|
|
<h2>History and Acknowledgements</h2>
|
|
|
|
In November 1999, Jeet Sukumaran proposed a framework based on virtual
|
|
functions, and later sketched a template-based approach. Ed Brey
|
|
pointed out that Microsoft Visual C++ does not support in-class member
|
|
initializations and suggested the <code>enum</code> workaround. Dave
|
|
Abrahams highlighted quantization issues.
|
|
<p>
|
|
The first public release of this random number library materialized in
|
|
March 2000 after extensive discussions on the boost mailing list.
|
|
Many thanks to Beman Dawes for his original <code>min_rand</code>
|
|
class, portability fixes, documentation suggestions, and general
|
|
guidance. Harry Erwin sent a header file which provided additional
|
|
insight into the requirements. Ed Brey and Beman Dawes wanted an
|
|
iterator-like interface.
|
|
<p>
|
|
Beman Dawes managed the formal review, during which Matthias Troyer,
|
|
Csaba Szepesvari, and Thomas Holenstein gave detailed comments. The
|
|
reviewed version became an official part of boost on 17 June 2000.
|
|
<p>
|
|
Gary Powell contributed suggestions for code cleanliness. Dave
|
|
Abrahams and Howard Hinnant suggested to move the basic generator
|
|
templates from namespace <code>boost::detail</code> to
|
|
<code>boost::random</code>. Ed Brey pointed out how to avoid two
|
|
superfluous warnings. Andreas Scherer tested with MSVC.
|
|
|
|
<p>
|
|
<hr>
|
|
Jens Maurer, 2000-12-04
|
|
|
|
</body>
|
|
</html>
|