$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: john_at_[hidden]
Date: 2008-02-21 06:54:00
Author: johnmaddock
Date: 2008-02-21 06:53:59 EST (Thu, 21 Feb 2008)
New Revision: 43347
URL: http://svn.boost.org/trac/boost/changeset/43347
Log:
Update main overview page.
Text files modified: 
   trunk/libs/math/doc/html/index.html |   279 ++++++++++++++++++++++++--------------- 
   trunk/libs/math/doc/math.qbk        |    94 +++++++++---                            
   2 files changed, 238 insertions(+), 135 deletions(-)
Modified: trunk/libs/math/doc/html/index.html
==============================================================================
--- trunk/libs/math/doc/html/index.html	(original)
+++ trunk/libs/math/doc/html/index.html	2008-02-21 06:53:59 EST (Thu, 21 Feb 2008)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>Boost.Math</title>
 <link rel="stylesheet" href="../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.66.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
 <link rel="start" href="index.html" title="Boost.Math">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -11,8 +11,8 @@
 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
 <td align="center">Home</td>
 <td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
 <td align="center">More</td>
 </tr></table>
 <hr>
@@ -25,7 +25,7 @@
 <div><p class="copyright">Copyright © 2007 Paul A. Bristow, Hubert Holin, John Maddock, Daryle
       Walker and Xiaogang Zhang</p></div>
 <div><div class="legalnotice">
-<a name="id385767"></a><p>
+<a name="id437673"></a><p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
@@ -34,7 +34,7 @@
 <hr>
 </div>
 <p>
-    The following mathematical libraries are present in Boost:
+    The following libraries are present in Boost.Math:
   </p>
 <div class="informaltable"><table class="table">
 <colgroup>
@@ -57,96 +57,63 @@
 <tr>
 <td>
           <p>
-            <a href="../complex/html/index.html" target="_top">Complex Number Inverse Trigonometric
-            Functions</a>
+            Complex Number Inverse Trigonometric Functions
           </p>
-          </td>
-<td>
           <p>
-            These complex number algorithms are the inverses of trigonometric functions
-            currently present in the C++ standard. Equivalents to these functions
-            are part of the C99 standard, and are part of the <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf" target="_top">Technical
-            Report on C++ Library Extensions</a>.
+            HTML Docs
           </p>
-          </td>
-</tr>
-<tr>
-<td>
           <p>
-            <a href="../gcd/html/index.html" target="_top">Greatest Common Divisor and Least
-            Common Multiple</a>
+            <a href="http:svn.boost.org/svn/boost/sandbox/pdf/math/release/complex-tr1.pdf" target="_top">PDF
+            Docs</a>
           </p>
           </td>
 <td>
           <p>
-            The class and function templates in <boost/math/common_factor.hpp>
-            provide run-time and compile-time evaluation of the greatest common divisor
-            (GCD) or least common multiple (LCM) of two integers. These facilities
-            are useful for many numeric-oriented generic programming problems.
-          </p>
-          </td>
-</tr>
-<tr>
-<td>
-          <p>
-            Integer
-          </p>
-          </td>
-<td>
-          <p>
-            Headers to ease dealing with integral types.
+            These complex number algorithms are the inverses of trigonometric functions
+            currently present in the C++ standard. Equivalents to these functions
+            are part of the C99 standard, and are part of the <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf" target="_top">Technical
+            Report on C++ Library Extensions</a>.
           </p>
           </td>
 </tr>
 <tr>
 <td>
           <p>
-            Interval
+            Greatest Common Divisor and Least Common Multiple
           </p>
-          </td>
-<td>
           <p>
-            As implied by its name, this library is intended to help manipulating
-            mathematical intervals. It consists of a single header <boost/numeric/interval.hpp>
-            and principally a type which can be used as interval<T>.
+            HTML Docs
           </p>
-          </td>
-</tr>
-<tr>
-<td>
           <p>
-            Multi Array
+            <a href="http:svn.boost.org/svn/boost/sandbox/pdf/math/release/math-gcd.pdf" target="_top">PDF
+            Docs</a>
           </p>
           </td>
 <td>
           <p>
-            Boost.MultiArray provides a generic N-dimensional array concept definition
-            and common implementations of that interface.
+            The class and function templates in <boost/math/common_factor.hpp>
+            provide run-time and compile-time evaluation of the greatest common divisor
+            (GCD) or least common multiple (LCM) of two integers. These facilities
+            are useful for many numeric-oriented generic programming problems.
           </p>
           </td>
 </tr>
 <tr>
 <td>
           <p>
-            Numeric.Conversion
+            Octonions
           </p>
-          </td>
-<td>
           <p>
-            The Boost Numeric Conversion library is a collection of tools to describe
-            and perform conversions between values of different numeric types.
+            HTML Docs
           </p>
-          </td>
-</tr>
-<tr>
-<td>
           <p>
-            Octonions
+            <a href="http:svn.boost.org/svn/boost/sandbox/pdf/math/release/octonion.pdf" target="_top">PDF
+            Docs</a>
           </p>
           </td>
 <td>
           <p>
-            Octonions, like quaternions,
+            Octonions, like quaternions,
             are a relative of complex numbers.
           </p>
           <p>
@@ -154,22 +121,22 @@
           </p>
           <p>
             In practical terms, an octonion is simply an octuple of real numbers
-            (α,β,γ,δ,ε,ζ,η,θ), which we can write in the form <span class="emphasis"><em><tt class="literal">o = α + βi + γj + δk + εe' + ζi' + ηj' + θk'</tt></em></span>,
-            where <span class="emphasis"><em><tt class="literal">i</tt></em></span>, <span class="emphasis"><em><tt class="literal">j</tt></em></span>
-            and <span class="emphasis"><em><tt class="literal">k</tt></em></span> are the same objects as
-            for quaternions, and <span class="emphasis"><em><tt class="literal">e'</tt></em></span>, <span class="emphasis"><em><tt class="literal">i'</tt></em></span>,
-            <span class="emphasis"><em><tt class="literal">j'</tt></em></span> and <span class="emphasis"><em><tt class="literal">k'</tt></em></span>
+            (α,β,γ,δ,ε,ζ,η,θ), which we can write in the form <span class="emphasis"><em><code class="literal">o = α + βi + γj + δk + εe' + ζi' + ηj' + θk'</code></em></span>,
+            where <span class="emphasis"><em><code class="literal">i</code></em></span>, <span class="emphasis"><em><code class="literal">j</code></em></span>
+            and <span class="emphasis"><em><code class="literal">k</code></em></span> are the same objects as
+            for quaternions, and <span class="emphasis"><em><code class="literal">e'</code></em></span>, <span class="emphasis"><em><code class="literal">i'</code></em></span>,
+            <span class="emphasis"><em><code class="literal">j'</code></em></span> and <span class="emphasis"><em><code class="literal">k'</code></em></span>
             are distinct objects which play essentially the same kind of role as
-            <span class="emphasis"><em><tt class="literal">i</tt></em></span> (or <span class="emphasis"><em><tt class="literal">j</tt></em></span>
-            or <span class="emphasis"><em><tt class="literal">k</tt></em></span>).
+            <span class="emphasis"><em><code class="literal">i</code></em></span> (or <span class="emphasis"><em><code class="literal">j</code></em></span>
+            or <span class="emphasis"><em><code class="literal">k</code></em></span>).
           </p>
           <p>
             Addition and a multiplication is defined on the set of octonions, which
             generalize their quaternionic counterparts. The main novelty this time
-            is that <span class="bold"><b>the multiplication is not only not commutative,
-            is now not even associative</b></span> (i.e. there are quaternions <span class="emphasis"><em><tt class="literal">x</tt></em></span>,
-            <span class="emphasis"><em><tt class="literal">y</tt></em></span> and <span class="emphasis"><em><tt class="literal">z</tt></em></span>
-            such that <span class="emphasis"><em><tt class="literal">x(yz) ≠ (xy)z</tt></em></span>). A way
+            is that <span class="bold"><strong>the multiplication is not only not commutative,
+            is now not even associative</strong></span> (i.e. there are quaternions <span class="emphasis"><em><code class="literal">x</code></em></span>,
+            <span class="emphasis"><em><code class="literal">y</code></em></span> and <span class="emphasis"><em><code class="literal">z</code></em></span>
+            such that <span class="emphasis"><em><code class="literal">x(yz) ≠ (xy)z</code></em></span>). A way
             of remembering things is by using the following multiplication table:
           </p>
           <p>
@@ -192,22 +159,14 @@
 <tr>
 <td>
           <p>
-            Operators
+            Special Functions
           </p>
-          </td>
-<td>
           <p>
-            The header <boost/operators.hpp> supplies several sets of class
-            templates (in namespace boost). These templates define operators at namespace
-            scope in terms of a minimal number of fundamental operators provided
-            by the class.
+            HTML Docs
           </p>
-          </td>
-</tr>
-<tr>
-<td>
           <p>
-            Special Functions
+            <a href="http:svn.boost.org/svn/boost/sandbox/pdf/math/release/math.pdf" target="_top">PDF
+            Docs</a>
           </p>
           </td>
 <td>
@@ -236,7 +195,14 @@
 <tr>
 <td>
           <p>
-            Statistical Distributions
+            Statistical Distributions
+          </p>
+          <p>
+            HTML Docs
+          </p>
+          <p>
+            <a href="http:svn.boost.org/svn/boost/sandbox/pdf/math/release/math.pdf" target="_top">PDF
+            Docs</a>
           </p>
           </td>
 <td>
@@ -258,7 +224,14 @@
 <tr>
 <td>
           <p>
-            Quaternions
+            Quaternions
+          </p>
+          <p>
+            HTML Docs
+          </p>
+          <p>
+            <a href="http:svn.boost.org/svn/boost/sandbox/pdf/math/release/quaternion.pdf" target="_top">PDF
+            Docs</a>
           </p>
           </td>
 <td>
@@ -268,41 +241,41 @@
           <p>
             Quaternions are in fact part of a small hierarchy of structures built
             upon the real numbers, which comprise only the set of real numbers (traditionally
-            named <span class="emphasis"><em><span class="bold"><b>R</b></span></em></span>), the set
-            of complex numbers (traditionally named <span class="emphasis"><em><span class="bold"><b>C</b></span></em></span>),
-            the set of quaternions (traditionally named <span class="emphasis"><em><span class="bold"><b>H</b></span></em></span>)
-            and the set of octonions (traditionally named <span class="emphasis"><em><span class="bold"><b>O</b></span></em></span>),
+            named <span class="emphasis"><em><span class="bold"><strong>R</strong></span></em></span>), the set
+            of complex numbers (traditionally named <span class="emphasis"><em><span class="bold"><strong>C</strong></span></em></span>),
+            the set of quaternions (traditionally named <span class="emphasis"><em><span class="bold"><strong>H</strong></span></em></span>)
+            and the set of octonions (traditionally named <span class="emphasis"><em><span class="bold"><strong>O</strong></span></em></span>),
             which possess interesting mathematical properties (chief among which
             is the fact that they are <span class="emphasis"><em>division algebras</em></span>, <span class="emphasis"><em>i.e.</em></span>
-            where the following property is true: if <span class="emphasis"><em><tt class="literal">y</tt></em></span>
-            is an element of that algebra and is <span class="bold"><b>not equal
-            to zero</b></span>, then <span class="emphasis"><em><tt class="literal">yx = yx'</tt></em></span>,
-            where <span class="emphasis"><em><tt class="literal">x</tt></em></span> and <span class="emphasis"><em><tt class="literal">x'</tt></em></span>
-            denote elements of that algebra, implies that <span class="emphasis"><em><tt class="literal">x =
-            x'</tt></em></span>). Each member of the hierarchy is a super-set
+            where the following property is true: if <span class="emphasis"><em><code class="literal">y</code></em></span>
+            is an element of that algebra and is <span class="bold"><strong>not equal
+            to zero</strong></span>, then <span class="emphasis"><em><code class="literal">yx = yx'</code></em></span>,
+            where <span class="emphasis"><em><code class="literal">x</code></em></span> and <span class="emphasis"><em><code class="literal">x'</code></em></span>
+            denote elements of that algebra, implies that <span class="emphasis"><em><code class="literal">x =
+            x'</code></em></span>). Each member of the hierarchy is a super-set
             of the former.
           </p>
           <p>
             One of the most important aspects of quaternions is that they provide
-            an efficient way to parameterize rotations in <span class="emphasis"><em><span class="bold"><b>R<sup>3</sup></b></span></em></span>
-            (the usual three-dimensional space) and <span class="emphasis"><em><span class="bold"><b>R<sup>4</sup></b></span></em></span>.
+            an efficient way to parameterize rotations in <span class="emphasis"><em><span class="bold"><strong>R<sup>3</sup></strong></span></em></span>
+            (the usual three-dimensional space) and <span class="emphasis"><em><span class="bold"><strong>R<sup>4</sup></strong></span></em></span>.
           </p>
           <p>
             In practical terms, a quaternion is simply a quadruple of real numbers
-            (α,β,γ,δ), which we can write in the form <span class="emphasis"><em><tt class="literal">q = α + βi + γj + δk</tt></em></span>,
-            where <span class="emphasis"><em><tt class="literal">i</tt></em></span> is the same object as
-            for complex numbers, and <span class="emphasis"><em><tt class="literal">j</tt></em></span> and
-            <span class="emphasis"><em><tt class="literal">k</tt></em></span> are distinct objects which
-            play essentially the same kind of role as <span class="emphasis"><em><tt class="literal">i</tt></em></span>.
+            (α,β,γ,δ), which we can write in the form <span class="emphasis"><em><code class="literal">q = α + βi + γj + δk</code></em></span>,
+            where <span class="emphasis"><em><code class="literal">i</code></em></span> is the same object as
+            for complex numbers, and <span class="emphasis"><em><code class="literal">j</code></em></span> and
+            <span class="emphasis"><em><code class="literal">k</code></em></span> are distinct objects which
+            play essentially the same kind of role as <span class="emphasis"><em><code class="literal">i</code></em></span>.
           </p>
           <p>
             An addition and a multiplication is defined on the set of quaternions,
             which generalize their real and complex counterparts. The main novelty
-            here is that <span class="bold"><b>the multiplication is not commutative</b></span>
-            (i.e. there are quaternions <span class="emphasis"><em><tt class="literal">x</tt></em></span>
-            and <span class="emphasis"><em><tt class="literal">y</tt></em></span> such that <span class="emphasis"><em><tt class="literal">xy
-            ≠ yx</tt></em></span>). A good mnemotechnical way of remembering things
-            is by using the formula <span class="emphasis"><em><tt class="literal">i*i = j*j = k*k = -1</tt></em></span>.
+            here is that <span class="bold"><strong>the multiplication is not commutative</strong></span>
+            (i.e. there are quaternions <span class="emphasis"><em><code class="literal">x</code></em></span>
+            and <span class="emphasis"><em><code class="literal">y</code></em></span> such that <span class="emphasis"><em><code class="literal">xy
+            ≠ yx</code></em></span>). A good mnemotechnical way of remembering things
+            is by using the formula <span class="emphasis"><em><code class="literal">i*i = j*j = k*k = -1</code></em></span>.
           </p>
           <p>
             Quaternions (and their kin) are described in far more details in this
@@ -315,6 +288,96 @@
           </p>
           </td>
 </tr>
+</tbody>
+</table></div>
+<p>
+    The following Boost libraries are also mathematically oriented:
+  </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+          <p>
+            Library
+          </p>
+          </th>
+<th>
+          <p>
+            Description
+          </p>
+          </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+          <p>
+            Integer
+          </p>
+          </td>
+<td>
+          <p>
+            Headers to ease dealing with integral types.
+          </p>
+          </td>
+</tr>
+<tr>
+<td>
+          <p>
+            Interval
+          </p>
+          </td>
+<td>
+          <p>
+            As implied by its name, this library is intended to help manipulating
+            mathematical intervals. It consists of a single header <boost/numeric/interval.hpp>
+            and principally a type which can be used as interval<T>.
+          </p>
+          </td>
+</tr>
+<tr>
+<td>
+          <p>
+            Multi Array
+          </p>
+          </td>
+<td>
+          <p>
+            Boost.MultiArray provides a generic N-dimensional array concept definition
+            and common implementations of that interface.
+          </p>
+          </td>
+</tr>
+<tr>
+<td>
+          <p>
+            Numeric.Conversion
+          </p>
+          </td>
+<td>
+          <p>
+            The Boost Numeric Conversion library is a collection of tools to describe
+            and perform conversions between values of different numeric types.
+          </p>
+          </td>
+</tr>
+<tr>
+<td>
+          <p>
+            Operators
+          </p>
+          </td>
+<td>
+          <p>
+            The header <boost/operators.hpp> supplies several sets of class
+            templates (in namespace boost). These templates define operators at namespace
+            scope in terms of a minimal number of fundamental operators provided
+            by the class.
+          </p>
+          </td>
+</tr>
 <tr>
 <td>
           <p>
@@ -363,8 +426,8 @@
 </table></div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: October 16, 2007 at 17:32:28 +0800</small></p></td>
-<td align="right"><div class="copyright-footer"><small></small></div></td>
+<td align="left"><p><small>Last revised: February 10, 2008 at 09:55:03 +0000</small></p></td>
+<td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>
 <div class="spirit-nav"></div>
Modified: trunk/libs/math/doc/math.qbk
==============================================================================
--- trunk/libs/math/doc/math.qbk	(original)
+++ trunk/libs/math/doc/math.qbk	2008-02-21 06:53:59 EST (Thu, 21 Feb 2008)
@@ -27,19 +27,29 @@
 [def __oct_not_equal ['[^x(yz) '''≠''' (xy)z]]]
 [template tr1[] [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf Technical Report on C++ Library Extensions]]
 
-The following mathematical libraries are present in Boost:
+The following libraries are present in Boost.Math:
 
 [table
 [[Library][Description]]
 
-   [[[@../complex/html/index.html Complex Number Inverse Trigonometric Functions]]
+   [[Complex Number Inverse Trigonometric Functions
+   
+   [@../complex/html/index.html HTML Docs]
+   
+   [@http:svn.boost.org/svn/boost/sandbox/pdf/math/release/complex-tr1.pdf 
+   PDF Docs]]
    [
 These complex number algorithms are the inverses of trigonometric functions currently
 present in the C++ standard.  Equivalents to these functions are part of the C99 standard, and
 are part of the [tr1].
    ]]
    
-   [[[@../gcd/html/index.html Greatest Common Divisor and Least Common Multiple]]
+   [[Greatest Common Divisor and Least Common Multiple
+   
+   [@../gcd/html/index.html HTML Docs]
+   
+   [@http:svn.boost.org/svn/boost/sandbox/pdf/math/release/math-gcd.pdf 
+   PDF Docs]]
    [
 The class and function templates in <boost/math/common_factor.hpp> 
 provide run-time and compile-time evaluation of the greatest common divisor 
@@ -48,24 +58,12 @@
 programming problems.
    ]]
 
-   [[[@../../../integer/index.html Integer]]
-   [Headers to ease dealing with integral types.]]
+[[Octonions
 
-   [[[@../../../numeric/interval/doc/interval.htm Interval]]
-   [As implied by its name, this library is intended to help manipulating 
-   mathematical intervals. It consists of a single header 
-   <boost/numeric/interval.hpp> and principally a type which can be 
-   used as interval<T>. ]]
-   
-   [[[@../../../multi_array/doc/index.html Multi Array]]
-   [Boost.MultiArray provides a generic N-dimensional array concept 
-   definition and common implementations of that interface.]]
+[@../octonion/html/index.html HTML Docs]
 
-   [[[@../../../numeric/conversion/doc/index.html Numeric.Conversion]]
-   [The Boost Numeric Conversion library is a collection of tools to 
-   describe and perform conversions between values of different numeric types.]]
-   
-[[[@../octonion/html/index.html Octonions]]
+[@http:svn.boost.org/svn/boost/sandbox/pdf/math/release/octonion.pdf 
+PDF Docs]]
    [
 Octonions, like [@../quaternion/html/index.html quaternions], are a relative of complex numbers.
 
@@ -95,13 +93,13 @@
 since quite a long time ago).
    ]]
    
-   [[[@../../../utility/operators.htm Operators]]
-   [The header <boost/operators.hpp> supplies several sets of class 
-   templates (in namespace boost). These templates define operators at 
-   namespace scope in terms of a minimal number of fundamental 
-   operators provided by the class.]]
+[[Special Functions
+
+[@../sf_and_dist/html/index.html HTML Docs]
+
+[@http:svn.boost.org/svn/boost/sandbox/pdf/math/release/math.pdf 
+PDF Docs]]
 
-[[[@../sf_and_dist/html/index.html Special Functions]]
    [ Provides a number of high quality special functions, initially 
    these were concentrated on functions used in statistical applications 
    along with those in the Technical Report on C++ Library Extensions.
@@ -120,7 +118,13 @@
    use with types with known-about significand (or mantissa) 
    sizes: typically float, double or long double.  ]]
 
-[[[@../sf_and_dist/html/index.html Statistical Distributions]]
+[[Statistical Distributions
+
+[@../sf_and_dist/html/index.html HTML Docs]
+
+[@http:svn.boost.org/svn/boost/sandbox/pdf/math/release/math.pdf 
+PDF Docs]]
+
    [Provides a reasonably comprehensive set of statistical distributions, 
    upon which higher level statistical tests can be built.
 
@@ -131,7 +135,13 @@
    A comprehensive tutorial is provided, along with a series of worked 
    examples illustrating how the library is used to conduct statistical tests. ]]
 
-[[[@../quaternion/html/index.html Quaternions]]
+[[Quaternions
+
+[@../quaternion/html/index.html HTML Docs]
+
+[@http:svn.boost.org/svn/boost/sandbox/pdf/math/release/quaternion.pdf 
+PDF Docs]]
+
    [
 Quaternions are a relative of complex numbers.
 
@@ -169,6 +179,36 @@
 a square root, do not.
     ]]
     
+]
+
+The following Boost libraries are also mathematically oriented:
+
+[table
+[[Library][Description]]
+
+   [[[@../../../integer/index.html Integer]]
+   [Headers to ease dealing with integral types.]]
+
+   [[[@../../../numeric/interval/doc/interval.htm Interval]]
+   [As implied by its name, this library is intended to help manipulating 
+   mathematical intervals. It consists of a single header 
+   <boost/numeric/interval.hpp> and principally a type which can be 
+   used as interval<T>. ]]
+   
+   [[[@../../../multi_array/doc/index.html Multi Array]]
+   [Boost.MultiArray provides a generic N-dimensional array concept 
+   definition and common implementations of that interface.]]
+
+   [[[@../../../numeric/conversion/index.html Numeric.Conversion]]
+   [The Boost Numeric Conversion library is a collection of tools to 
+   describe and perform conversions between values of different numeric types.]]
+   
+   [[[@../../../utility/operators.htm Operators]]
+   [The header <boost/operators.hpp> supplies several sets of class 
+   templates (in namespace boost). These templates define operators at 
+   namespace scope in terms of a minimal number of fundamental 
+   operators provided by the class.]]
+
    [[[@../../../random/index.html Random]]
    [Random numbers are useful in a variety of applications. The Boost 
    Random Number Library (Boost.Random for short) provides a vast variety