2
0
mirror of https://github.com/boostorg/random.git synced 2026-01-24 18:12:48 +00:00
Files
random/index.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">&lt;boost/random.hpp&gt;</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">&lt;boost/nondet_random.hpp&gt;</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.
<p>
<hr>
Jens Maurer, 2000-09-28
</body>
</html>