File: index.html

package info (click to toggle)
boost1.35 1.35.0-5
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 203,856 kB
  • ctags: 337,867
  • sloc: cpp: 938,683; xml: 56,847; ansic: 41,589; python: 18,999; sh: 11,566; makefile: 664; perl: 494; yacc: 456; asm: 353; csh: 6
file content (209 lines) | stat: -rw-r--r-- 9,116 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
  <meta http-equiv="Content-Language" content="en-us">
  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">

  <title>Boost Random Number Library</title>
</head>

<body bgcolor="#FFFFFF" text="#000000">
  <table border="1" bgcolor="#007F7F" cellpadding="2" summary="">
    <tr>
      <td bgcolor="#FFFFFF"><img src="../../boost.png" alt=
      "boost.png (6897 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="http://www.boost.org/people/people.htm"><font face="Arial,Helvetica"
      color="#FFFFFF"><big>People</big></font></a></td>

      <td><a href="http://www.boost.org/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>

  <p>Random numbers are useful in a variety of applications. The Boost Random
  Number Library (Boost.Random for short) provides a vast variety of
  generators and distributions to produce random numbers having useful
  properties, such as uniform distribution.</p>

  <p>You should read the <a href="random-concepts.html">concepts
  documentation</a> for an introduction and the definition of the basic
  concepts. For a quick start, it may be sufficient to have a look at
  <a href="random_demo.cpp">random_demo.cpp</a>.</p>

  <p>For a very quick start, here's an example:</p>
  <pre>
  boost::mt19937 rng;                 // produces randomness out of thin air
                                      // see pseudo-random number generators
  boost::uniform_int&lt;&gt; six(1,6)       // distribution that maps to 1..6
                                      // see random number distributions
  boost::variate_generator&lt;boost::mt19937&amp;, boost::uniform_int&lt;&gt; &gt;
           die(rng, six);             // glues randomness with mapping
  int x = die();                      // simulate rolling a die
</pre>

  <h2>Library Organization</h2>

  <p>The library is separated into several header files, all within the
  <code>boost/random/</code> directory. Additionally, a convenience header
  file which includes all other headers in <code>boost/random/</code> is
  available as <code><a href=
  "../../boost/random.hpp">boost/random.hpp</a></code>.</p>

  <p>A front-end class template called <code>variate_generate</code> is
  provided; please read the <a href="random-variate.html">documentation</a>
  about it.</p>

  <ul>
    <li><code><a href=
    "../../boost/random/variate_generator.hpp">boost/random/variate_generator.hpp</a></code></li>
  </ul>Several random number generators are available in the following header
  files; please read the <a href="random-generators.html">documentation</a>
  about these.

  <ul>
    <li><code><a href=
    "../../boost/random/linear_congruential.hpp">boost/random/linear_congruential.hpp</a></code></li>

    <li><code><a href=
    "../../boost/random/additive_combine.hpp">boost/random/additive_combine.hpp</a></code></li>

    <li><code><a href=
    "../../boost/random/inversive_congruential.hpp">boost/random/inversive_congruential.hpp</a></code></li>

    <li><code><a href=
    "../../boost/random/shuffle_output.hpp">boost/random/shuffle_output.hpp</a></code></li>

    <li><code><a href=
    "../../boost/random/mersenne_twister.hpp">boost/random/mersenne_twister.hpp</a></code></li>

    <li><code><a href=
    "../../boost/random/lagged_fibonacci.hpp">boost/random/lagged_fibonacci.hpp</a></code></li>
  </ul>Similarly, several random number distributions are available in the
  following header files; please read the <a href=
  "random-distributions.html">documentation</a> about these.

  <ul>
    <li><code><a href=
    "../../boost/random/uniform_smallint.hpp">boost/random/uniform_smallint.hpp</a></code></li>

    <li><code><a href=
    "../../boost/random/uniform_int.hpp">boost/random/uniform_int.hpp</a></code></li>

    <li><code><a href=
    "../../boost/random/uniform_01.hpp">boost/random/uniform_01.hpp</a></code></li>

    <li><code><a href=
    "../../boost/random/uniform_real.hpp">boost/random/uniform_real.hpp</a></code></li>

    <li><code><a href=
    "../../boost/random/triangle_distribution.hpp">boost/random/triangle_distribution.hpp</a></code></li>

    <li><code><a href=
    "../../boost/random/bernoulli_distribution.hpp">boost/random/bernoulli_distribution.hpp</a></code></li>

    <li><code><a href=
    "../../boost/random/cauchy_distribution.hpp">boost/random/cauchy_distribution.hpp</a></code></li>

    <li><code><a href=
    "../../boost/random/exponential_distribution.hpp">boost/random/exponential_distribution.hpp</a></code></li>

    <li><code><a href=
    "../../boost/random/geometric_distribution.hpp">boost/random/geometric_distribution.hpp</a></code></li>

    <li><code><a href=
    "../../boost/random/normal_distribution.hpp">boost/random/normal_distribution.hpp</a></code></li>

    <li><code><a href=
    "../../boost/random/lognormal_distribution.hpp">boost/random/lognormal_distribution.hpp</a></code></li>

    <li><code><a href=
    "../../boost/random/uniform_on_sphere.hpp">boost/random/uniform_on_sphere.hpp</a></code></li>
  </ul>Additionally, non-deterministic random number generators are available
  in the header <code><a href=
  "../../boost/nondet_random.hpp">&lt;boost/nondet_random.hpp&gt;</a></code>.
  <a href="nondet_random.html">Documentation</a> is also available.

  <p>In order to map the interface of the generators and distribution
  functions to other concepts, some <a href="random-misc.html">decorators</a>
  are available.</p>

  <h2>Tests</h2>

  <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>.</p>

  <p>Some <a href="random-performance.html">performance results</a> obtained
  using <a href="random_speed.cpp">random_speed.cpp</a> are also
  available.</p>

  <h2>Rationale</h2>

  <p>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.</p>

  <h2>History and Acknowledgements</h2>

  <p>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>

  <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>

  <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>

  <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>.</p>

  <p>Ed Brey asked to remove superfluous warnings and helped with
  <code>uint64_t</code> handling. Andreas Scherer tested with MSVC. Matthias
  Troyer contributed a lagged Fibonacci generator. Michael Stevens found a
  bug in the copy semantics of normal_distribution and suggested
  documentation improvements.</p>
  <hr>

  <p><a href="http://validator.w3.org/check?uri=referer"><img border="0" src=
  "http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01 Transitional"
  height="31" width="88"></a></p>

  <p>Revised 
  <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->05
  December, 2006<!--webbot bot="Timestamp" endspan i-checksum="38516" --></p>

  <p><i>Copyright &copy; 2000-2005 <a href=
  "http://www.boost.org/people/jens_maurer.htm">Jens Maurer</a></i></p>

  <p><i>Distributed under the Boost Software License, Version 1.0. (See
  accompanying file <a href="../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
  copy at <a href=
  "http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</a>)</i></p>
</body>
</html>