Boost logo

Boost-Commit :

From: john_at_[hidden]
Date: 2008-04-21 09:00:23


Author: johnmaddock
Date: 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
New Revision: 44694
URL: http://svn.boost.org/trac/boost/changeset/44694

Log:
Merged changes from the Sandbox, and rebuilt the docs.
Also added some missing files.
Added:
   trunk/libs/math/doc/sf_and_dist/equations/generate.sh (contents, props changed)
   trunk/libs/math/doc/sf_and_dist/equations/ibeta9.png (contents, props changed)
   trunk/libs/math/doc/sf_and_dist/graphs/ellint_carlson.png (contents, props changed)
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_beta_dist.html (contents, props changed)
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_chi_squared_dist.html (contents, props changed)
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_f_dist.html (contents, props changed)
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_t_dist.html (contents, props changed)
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/nccs_eg/
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/nccs_eg.html (contents, props changed)
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/nccs_eg/nccs_power_eg.html (contents, props changed)
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/expint/
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/expint.html (contents, props changed)
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/expint/expint_i.html (contents, props changed)
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/expint/expint_n.html (contents, props changed)
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/ct_pow.html (contents, props changed)
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/rounding/
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/rounding.html (contents, props changed)
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/rounding/modf.html (contents, props changed)
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/rounding/round.html (contents, props changed)
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/rounding/trunc.html (contents, props changed)
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/zetas/
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/zetas.html (contents, props changed)
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/zetas/zeta.html (contents, props changed)
Text files modified:
   trunk/libs/math/doc/sf_and_dist/credits.qbk | 7 +++--
   trunk/libs/math/doc/sf_and_dist/erf.qbk | 29 ++++++++++++++-------------
   trunk/libs/math/doc/sf_and_dist/fpclassify.qbk | 31 ++++++++++++++++++++--------
   trunk/libs/math/doc/sf_and_dist/html/index.html | 4 +-
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/implementation.html | 30 ++++++++++++++--------------
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/lanczos.html | 14 ++++++------
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/refs.html | 6 ++--
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/relative_error.html | 2
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/remez.html | 16 +++++++-------
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/history1.html | 2
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/perf/comp_compilers.html | 2
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/perf/comparisons.html | 30 ++++++++++++++--------------
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/perf/getting_best.html | 2
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/perf/tuning.html | 4 +-
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/discrete_quant_ref.html | 12 +++++-----
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/error_handling_policies.html | 14 ++++++------
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/internal_promotion.html | 2
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/policy_defaults.html | 30 ++++++++++++++--------------
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/understand_dis_quant.html | 2
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special.html | 2
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/bessel.html | 14 ++++++------
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/bessel_over.html | 6 ++--
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/mbessel.html | 14 ++++++------
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/sph_bessel.html | 10 ++++----
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_1.html | 12 +++++-----
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_2.html | 12 +++++-----
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_3.html | 12 +++++-----
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_carlson.html | 12 +++++-----
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_intro.html | 12 +++++-----
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/fpclass.html | 42 ++++++++++++++++++++++++++-------------
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/cbrt.html | 4 +-
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/expm1.html | 4 +-
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/hypot.html | 2
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/log1p.html | 4 +-
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/powm1.html | 4 +-
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/sqrt1pm1.html | 4 +-
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_erf/error_function.html | 41 +++++++++++++++++++++-----------------
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_erf/error_inv.html | 10 ++++----
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/hermite.html | 12 +++++-----
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/laguerre.html | 14 ++++++------
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/legendre.html | 16 +++++++-------
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/sph_harm.html | 12 +++++-----
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/status/compilers.html | 4 +-
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/status/credits.html | 8 +++---
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/status/history1.html | 14 ++++++------
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/status/issues.html | 16 +++++++-------
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit.html | 2
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/cf.html | 8 +++---
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/minima.html | 6 ++--
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/rational.html | 6 ++--
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/roots.html | 12 +++++-----
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/roots2.html | 6 ++--
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/series_evaluation.html | 6 ++--
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2/error_test.html | 6 ++--
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2/polynomials.html | 4 +-
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2/test_data.html | 12 +++++-----
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/using_udt/concepts.html | 4 +-
   trunk/libs/math/doc/sf_and_dist/roadmap.qbk | 2
   58 files changed, 332 insertions(+), 298 deletions(-)

Modified: trunk/libs/math/doc/sf_and_dist/credits.qbk
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/credits.qbk (original)
+++ trunk/libs/math/doc/sf_and_dist/credits.qbk 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -36,7 +36,8 @@
 Plots of the functions and distributions were prepared in
 [@http://www.w3.org/ W3C] standard
 [@http://www.svg.org/ Scalable Vector Graphic (SVG)] format
-using a program created by Jacob Voytko during a Google 'Summer of Code'.
+using a program created by Jacob Voytko during a
+[@http://code.google.com/soc/2007/ Google Summer of Code (2007)].
 Since browser support for rendering SVG is still not universal
 (Microsoft Internet Explorer, even IE 8 beta, still lacks native SVG support
 but can be made to work with
@@ -49,10 +50,10 @@
 Arnaldur Gylfason, John Phillips, Stephan Tolksdorf and Jeff Garland
 - for their many helpful comments.
 
-[endsect][/section:roadmap Roadmap]
+[endsect] [/section:credits Credits and Acknowledgements]
 
 [/
- Copyright 2006 - 2008 John Maddock and Paul A. Bristow.
+ Copyright 2006, 2007, 2008 John Maddock and Paul A. Bristow.
   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).

Added: trunk/libs/math/doc/sf_and_dist/equations/generate.sh
==============================================================================
--- (empty file)
+++ trunk/libs/math/doc/sf_and_dist/equations/generate.sh 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -0,0 +1,27 @@
+#
+# Generates SVG and PNG files from the MML masters.
+#
+# Paths to tools come first, change these to match your system:
+#
+math2svg='C:\download\open\SVGMath-0.3.1\math2svg.py'
+python=/cygdrive/c/Python25/python.exe
+inkscape=/cygdrive/c/progra~1/Inkscape/inkscape
+# Image DPI:
+dpi=120
+
+for mmlfile in $*; do
+ svgfile=$(basename $mmlfile .mml).svg
+ pngfile=$(basename $svgfile .svg).png
+ tempfile=temp.mml
+ # strip html wrappers put in by MathCast:
+ cat $mmlfile | tr -d "\r\n" | sed -e 's/.*\(<math[^>]*>.*<\/math>\).*/\1/' > $tempfile
+
+ echo Generating $svgfile
+ $python $math2svg $tempfile > $svgfile
+ echo Generating $pngfile
+ $inkscape -d $dpi -e $(cygpath -a -w $pngfile) $(cygpath -a -w $svgfile)
+ rm $tempfile
+done
+
+
+

Added: trunk/libs/math/doc/sf_and_dist/equations/ibeta9.png
==============================================================================
Binary file. No diff available.

Modified: trunk/libs/math/doc/sf_and_dist/erf.qbk
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/erf.qbk (original)
+++ trunk/libs/math/doc/sf_and_dist/erf.qbk 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -169,17 +169,13 @@
 then a series of rational approximations [jm_rationals] are used.
 
 For `z <= 0.5` then a rational approximation to erf is used, based on the
-observation that:
+observation that erf is an odd function and therefore erf is calculated using:
 
- erf(z)/z ~ 1.12....
+ erf(z) = z * (C + R(z*z));
    
-Therefore erf is calculated using:
-
- erf(z) = z * (1.125F + R(z));
-
-where the rational approximation R(z) is optimised for absolute error:
-as long as its absolute error is small enough compared to 1.125, then any
-round-off error incurred during the computation of R(z) will effectively
+where the rational approximation R(z*z) is optimised for absolute error:
+as long as its absolute error is small enough compared to the constant C, then any
+round-off error incurred during the computation of R(z*z) will effectively
 disappear from the result. As a result the error for erf and erfc in this
 region is very low: the last bit is incorrect in only a very small number of
 cases.
@@ -192,15 +188,20 @@
 
 Therefore for `z > 0.5` we calculate erfc using:
 
- erfc(z) = exp(-z*z) * (c + R(z)) / z;
+ erfc(z) = exp(-z*z) * (C + R(z - B)) / z;
    
-Again R(z) is optimised for absolute error, and the constant `c` is
+Again R(z - B) is optimised for absolute error, and the constant `C` is
 the average of `erfc(z) * exp(z*z) * z` taken at the endpoints of the range.
-Once again, as long as the absolute error in R(z) is small
-compared to `c` then `c + R(z)` will be correctly rounded, and the error
+Once again, as long as the absolute error in R(z - B) is small
+compared to `c` then `c + R(z - B)` will be correctly rounded, and the error
 in the result will depend only on the accuracy of the exp function. In practice,
 in all but a very small number of cases, the error is confined to the last bit
-of the result.
+of the result. The constant `B` is chosen so that the left hand end of the range
+of the rational approximation is 0.
+
+For large `z` over a range \[a, +[infin]\] the above approximation is modified to:
+
+ erfc(z) = exp(-z*z) * (C + R(1 / z)) / z;
 
 [endsect]
 [/ :error_function The Error Functions]

Modified: trunk/libs/math/doc/sf_and_dist/fpclassify.qbk
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/fpclassify.qbk (original)
+++ trunk/libs/math/doc/sf_and_dist/fpclassify.qbk 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -1,4 +1,4 @@
-[section:fpclass Floating Point Classification: Infinities and NaN's]
+[section:fpclass Floating-Point Classification: Infinities and NaN's]
 
 [h4 Synopsis]
 
@@ -12,16 +12,20 @@
    int fpclassify(T t);
 
    template <class T>
- bool isfinite(T z);
+ bool isfinite(T z); // Neither infinity nor NaN.
 
    template <class T>
- bool isinf(T t);
+ bool isinf(T t); // Infinity (+ or -).
 
    template <class T>
- bool isnan(T t);
+ bool isnan(T t); // NaN.
 
    template <class T>
- bool isnormal(T t);
+ bool isnormal(T t); // isfinite and not denormalised.
+
+ #include <boost\math\special_functions\fpclassify.hpp>
+
+to use these functions.
 
 [h4 Description]
 
@@ -49,9 +53,18 @@
    // As above but with namespace qualification.
    (boost::math::isnan)(z);
    //
- // This will cause a compiler error is isnan is a native macro:
+ // This will cause a compiler error if isnan is a native macro:
    boost::math::isnan(z);
- // So always use (boost::math::isnan)(z); instead.
+ // So always use instead:
+ (boost::math::isnan)(z);
+ //
+ // You can also add a using statment,
+ // globally to a .cpp file, or to a local function in a .hpp file.
+ using boost::math::isnan;
+ // so you can write the shorter and less cluttered
+ (isnan)(z)
+ // But, as above, if isnan is a native macro, this causes a compiler error,
+ // because the macro always 'gets' the name first, unless enclosed in () brackets.
    
 Detailed descriptions for each of these functions follows:
 
@@ -82,7 +95,7 @@
    template <class T>
    bool isnan(T t);
 
-Returns true only if /z/ is a NaN.
+Returns true only if /z/ is a [@http://en.wikipedia.org/wiki/NaN NaN].
 
    template <class T>
    bool isnormal(T t);
@@ -92,7 +105,7 @@
 [endsect] [/section:fpclass Floating Point Classification: Infinities and NaN's]
 
 [/
- Copyright 2006 John Maddock and Paul A. Bristow.
+ Copyright 2006, 2008 John Maddock and Paul A. Bristow.
   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).

Added: trunk/libs/math/doc/sf_and_dist/graphs/ellint_carlson.png
==============================================================================
Binary file. No diff available.

Modified: trunk/libs/math/doc/sf_and_dist/html/index.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/index.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/index.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -291,7 +291,7 @@
 <dt><span class="section"><a href="math_toolkit/special/rounding/modf.html"> Integer and Fractional
         Part Splitting (modf)</a></span></dt>
 </dl></dd>
-<dt><span class="section"><a href="math_toolkit/special/fpclass.html"> Floating Point Classification:
+<dt><span class="section"><a href="math_toolkit/special/fpclass.html"> Floating-Point Classification:
       Infinities and NaN's</a></span></dt>
 </dl></dd>
 <dt><span class="section"> Internal Details and Tools (Experimental)</span></dt>
@@ -422,7 +422,7 @@
   </p>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: April 07, 2008 at 16:18:49 GMT</small></p></td>
+<td align="left"><p><small>Last revised: April 21, 2008 at 12:48:57 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/implementation.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/implementation.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/implementation.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -33,7 +33,7 @@
         and reflect more the general implementation philosophy used.
       </p>
 <a name="math_toolkit.backgrounders.implementation.implemention_philosophy"></a><h5>
-<a name="id806336"></a>
+<a name="id806718"></a>
         <a href="implementation.html#math_toolkit.backgrounders.implementation.implemention_philosophy">Implemention
         philosophy</a>
       </h5>
@@ -85,7 +85,7 @@
         These could still provide sufficient accuracy for some speed-critical applications.
       </p>
 <a name="math_toolkit.backgrounders.implementation.accuracy_and_representation_of_test_values"></a><h5>
-<a name="id806447"></a>
+<a name="id806828"></a>
         <a href="implementation.html#math_toolkit.backgrounders.implementation.accuracy_and_representation_of_test_values">Accuracy
         and Representation of Test Values</a>
       </h5>
@@ -130,7 +130,7 @@
         binary value).
       </p>
 <a name="math_toolkit.backgrounders.implementation.tolerance_of_tests"></a><h5>
-<a name="id806691"></a>
+<a name="id807060"></a>
         <a href="implementation.html#math_toolkit.backgrounders.implementation.tolerance_of_tests">Tolerance
         of Tests</a>
       </h5>
@@ -156,7 +156,7 @@
         first that the suffix L is present, and then that the tolerance is big enough.
       </p>
 <a name="math_toolkit.backgrounders.implementation.handling_unsuitable_arguments"></a><h5>
-<a name="id806751"></a>
+<a name="id807120"></a>
         <a href="implementation.html#math_toolkit.backgrounders.implementation.handling_unsuitable_arguments">Handling
         Unsuitable Arguments</a>
       </h5>
@@ -242,7 +242,7 @@
         </p></td></tr>
 </table></div>
 <a name="math_toolkit.backgrounders.implementation.handling_of_functions_that_are_not_mathematically_defined"></a><h5>
-<a name="id806975"></a>
+<a name="id807345"></a>
         <a href="implementation.html#math_toolkit.backgrounders.implementation.handling_of_functions_that_are_not_mathematically_defined">Handling
         of Functions that are Not Mathematically defined</a>
       </h5>
@@ -276,7 +276,7 @@
         </p></td></tr>
 </table></div>
 <a name="math_toolkit.backgrounders.implementation.median_of_distributions"></a><h5>
-<a name="id807116"></a>
+<a name="id807486"></a>
         <a href="implementation.html#math_toolkit.backgrounders.implementation.median_of_distributions">Median
         of distributions</a>
       </h5>
@@ -309,7 +309,7 @@
         Basic Statistics.</a> give more detail, in particular for discrete distributions.
       </p>
 <a name="math_toolkit.backgrounders.implementation.handling_of_floating_point_infinity"></a><h5>
-<a name="id807261"></a>
+<a name="id807630"></a>
         <a href="implementation.html#math_toolkit.backgrounders.implementation.handling_of_floating_point_infinity">Handling
         of Floating-Point Infinity</a>
       </h5>
@@ -353,7 +353,7 @@
         handling policies</a>.
       </p>
 <a name="math_toolkit.backgrounders.implementation.scale__shape_and_location"></a><h5>
-<a name="id807419"></a>
+<a name="id807788"></a>
         <a href="implementation.html#math_toolkit.backgrounders.implementation.scale__shape_and_location">Scale,
         Shape and Location</a>
       </h5>
@@ -380,7 +380,7 @@
         functions, they can be added if required.
       </p>
 <a name="math_toolkit.backgrounders.implementation.notes_on_implementation_of_specific_functions__amp__distributions"></a><h5>
-<a name="id807884"></a>
+<a name="id808253"></a>
         <a href="implementation.html#math_toolkit.backgrounders.implementation.notes_on_implementation_of_specific_functions__amp__distributions">Notes
         on Implementation of Specific Functions &amp; Distributions</a>
       </h5>
@@ -392,7 +392,7 @@
           0 and upper = 1 would be more suitable.
         </li></ul></div>
 <a name="math_toolkit.backgrounders.implementation.rational_approximations_used"></a><h5>
-<a name="id807924"></a>
+<a name="id808293"></a>
         <a href="implementation.html#math_toolkit.backgrounders.implementation.rational_approximations_used">Rational
         Approximations Used</a>
       </h5>
@@ -435,7 +435,7 @@
         to the "true" minimax solution.
       </p>
 <a name="math_toolkit.backgrounders.implementation.representation_of_mathematical_constants"></a><h5>
-<a name="id808021"></a>
+<a name="id808389"></a>
         <a href="implementation.html#math_toolkit.backgrounders.implementation.representation_of_mathematical_constants">Representation
         of Mathematical Constants</a>
       </h5>
@@ -496,7 +496,7 @@
 </span><span class="keyword">double</span> <span class="identifier">p</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">constants</span><span class="special">::</span><span class="identifier">pi</span><span class="special">();</span> <span class="comment">// Context does not allow for disambiguation of overloaded function
 </span></pre>
 <a name="math_toolkit.backgrounders.implementation.thread_safety"></a><h5>
-<a name="id808568"></a>
+<a name="id808958"></a>
         <a href="implementation.html#math_toolkit.backgrounders.implementation.thread_safety">Thread
         safety</a>
       </h5>
@@ -521,7 +521,7 @@
         the right thing here at some point.
       </p>
 <a name="math_toolkit.backgrounders.implementation.sources_of_test_data"></a><h5>
-<a name="id808633"></a>
+<a name="id809023"></a>
         <a href="implementation.html#math_toolkit.backgrounders.implementation.sources_of_test_data">Sources
         of Test Data</a>
       </h5>
@@ -565,7 +565,7 @@
         the underlying special function is known to be difficult to implement.
       </p>
 <a name="math_toolkit.backgrounders.implementation.creating_and_managing_the_equations"></a><h5>
-<a name="id808743"></a>
+<a name="id809134"></a>
         <a href="implementation.html#math_toolkit.backgrounders.implementation.creating_and_managing_the_equations">Creating
         and Managing the Equations</a>
       </h5>
@@ -726,7 +726,7 @@
         HTML: this needs further investigation.
       </p>
 <a name="math_toolkit.backgrounders.implementation.producing_graphs"></a><h5>
-<a name="id809122"></a>
+<a name="id809512"></a>
         <a href="implementation.html#math_toolkit.backgrounders.implementation.producing_graphs">Producing
         Graphs</a>
       </h5>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/lanczos.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/lanczos.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/lanczos.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -27,7 +27,7 @@
 <a name="math_toolkit.backgrounders.lanczos"></a> The Lanczos Approximation
 </h3></div></div></div>
 <a name="math_toolkit.backgrounders.lanczos.motivation"></a><h5>
-<a name="id809523"></a>
+<a name="id809891"></a>
         <a href="lanczos.html#math_toolkit.backgrounders.lanczos.motivation">Motivation</a>
       </h5>
 <p>
@@ -98,7 +98,7 @@
         functions divided by large powers into single (simpler) expressions.
       </p>
 <a name="math_toolkit.backgrounders.lanczos.the_approximation"></a><h5>
-<a name="id809896"></a>
+<a name="id810268"></a>
         <a href="lanczos.html#math_toolkit.backgrounders.lanczos.the_approximation">The
         Approximation</a>
       </h5>
@@ -160,7 +160,7 @@
         </p></td></tr>
 </table></div>
 <a name="math_toolkit.backgrounders.lanczos.computing_the_coefficients"></a><h5>
-<a name="id810159"></a>
+<a name="id810531"></a>
         <a href="lanczos.html#math_toolkit.backgrounders.lanczos.computing_the_coefficients">Computing
         the Coefficients</a>
       </h5>
@@ -204,7 +204,7 @@
         multiplied by <span class="emphasis"><em>F</em></span> as the last step.
       </p>
 <a name="math_toolkit.backgrounders.lanczos.choosing_the_right_parameters"></a><h5>
-<a name="id810365"></a>
+<a name="id810737"></a>
         <a href="lanczos.html#math_toolkit.backgrounders.lanczos.choosing_the_right_parameters">Choosing
         the Right Parameters</a>
       </h5>
@@ -228,7 +228,7 @@
         computing to float precision with double precision arithmetic.
       </p>
 <div class="table">
-<a name="id810448"></a><p class="title"><b>Table 52. Optimal choices for N and g when computing with
+<a name="id810820"></a><p class="title"><b>Table 52. Optimal choices for N and g when computing with
       guard digits (source: Pugh)</b></p>
 <div class="table-contents"><table class="table" summary="Optimal choices for N and g when computing with
       guard digits (source: Pugh)">
@@ -371,7 +371,7 @@
         exactly matches the machine epsilon for the type in question.
       </p>
 <div class="table">
-<a name="id810775"></a><p class="title"><b>Table 53. Optimum value for N and g when computing at fixed
+<a name="id811142"></a><p class="title"><b>Table 53. Optimum value for N and g when computing at fixed
       precision</b></p>
 <div class="table-contents"><table class="table" summary="Optimum value for N and g when computing at fixed
       precision">
@@ -536,7 +536,7 @@
         is exact, and so isn't used for the gamma function.
       </p>
 <a name="math_toolkit.backgrounders.lanczos.references"></a><h5>
-<a name="id811053"></a>
+<a name="id811420"></a>
         <a href="lanczos.html#math_toolkit.backgrounders.lanczos.references">References</a>
       </h5>
 <a name="godfrey"></a><a name="pugh"></a><div class="orderedlist"><ol type="1">

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/refs.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/refs.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/refs.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -27,7 +27,7 @@
 <a name="math_toolkit.backgrounders.refs"></a> References
 </h3></div></div></div>
 <a name="math_toolkit.backgrounders.refs.general_references"></a><h5>
-<a name="id812417"></a>
+<a name="id812783"></a>
         <a href="refs.html#math_toolkit.backgrounders.refs.general_references">General
         references</a>
       </h5>
@@ -91,7 +91,7 @@
         Library (version 2), Walter E. Brown</a>
       </p>
 <a name="math_toolkit.backgrounders.refs.calculators__that_we_found__and_used_to_cross_check___as_far_as_their_widely_varying_accuracy_allowed__"></a><h5>
-<a name="id812591"></a>
+<a name="id812957"></a>
         <a href="refs.html#math_toolkit.backgrounders.refs.calculators__that_we_found__and_used_to_cross_check___as_far_as_their_widely_varying_accuracy_allowed__">Calculators*
         that we found (and used to cross-check - as far as their widely-varying accuracy
         allowed).</a>
@@ -101,7 +101,7 @@
         Binomial Probability Distribution Calculator.
       </p>
 <a name="math_toolkit.backgrounders.refs.other_libraries"></a><h5>
-<a name="id812636"></a>
+<a name="id813002"></a>
         <a href="refs.html#math_toolkit.backgrounders.refs.other_libraries">Other Libraries</a>
       </h5>
 <p>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/relative_error.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/relative_error.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/relative_error.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -81,7 +81,7 @@
 <a name="zero_error"></a><p>
       </p>
 <a name="math_toolkit.backgrounders.relative_error.the_impossibility_of_zero_error"></a><h5>
-<a name="id809422"></a>
+<a name="id809813"></a>
         <a href="relative_error.html#math_toolkit.backgrounders.relative_error.the_impossibility_of_zero_error">The
         Impossibility of Zero Error</a>
       </h5>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/remez.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/remez.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/backgrounders/remez.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -94,7 +94,7 @@
         are located!</em></span>
       </p>
 <a name="math_toolkit.backgrounders.remez.the_remez_method"></a><h5>
-<a name="id811304"></a>
+<a name="id811671"></a>
         <a href="remez.html#math_toolkit.backgrounders.remez.the_remez_method">The Remez
         Method</a>
       </h5>
@@ -174,7 +174,7 @@
 </td></tr>
 </table></div>
 <a name="math_toolkit.backgrounders.remez.remez_step_1"></a><h5>
-<a name="id811524"></a>
+<a name="id811891"></a>
         <a href="remez.html#math_toolkit.backgrounders.remez.remez_step_1">Remez Step
         1</a>
       </h5>
@@ -205,7 +205,7 @@
         to 5.6x10<sup>-4</sup>.
       </p>
 <a name="math_toolkit.backgrounders.remez.remez_step_2"></a><h5>
-<a name="id811630"></a>
+<a name="id811997"></a>
         <a href="remez.html#math_toolkit.backgrounders.remez.remez_step_2">Remez Step
         2</a>
       </h5>
@@ -234,7 +234,7 @@
         In our example we perform multi-point exchange.
       </p>
 <a name="math_toolkit.backgrounders.remez.iteration"></a><h5>
-<a name="id811690"></a>
+<a name="id812057"></a>
         <a href="remez.html#math_toolkit.backgrounders.remez.iteration">Iteration</a>
       </h5>
 <p>
@@ -250,7 +250,7 @@
         <span class="inlinemediaobject"><img src="../../../graphs/remez-4.png" alt="remez-4"></span>
       </p>
 <a name="math_toolkit.backgrounders.remez.rational_approximations"></a><h5>
-<a name="id811752"></a>
+<a name="id812118"></a>
         <a href="remez.html#math_toolkit.backgrounders.remez.rational_approximations">Rational
         Approximations</a>
       </h5>
@@ -299,7 +299,7 @@
         number of terms overall.
       </p>
 <a name="math_toolkit.backgrounders.remez.practical_considerations"></a><h5>
-<a name="id811874"></a>
+<a name="id812241"></a>
         <a href="remez.html#math_toolkit.backgrounders.remez.practical_considerations">Practical
         Considerations</a>
       </h5>
@@ -407,7 +407,7 @@
         desired minimax solution (5x10<sup>-4</sup>).
       </p>
 <a name="math_toolkit.backgrounders.remez.remez_method_checklist"></a><h5>
-<a name="id812133"></a>
+<a name="id812499"></a>
         <a href="remez.html#math_toolkit.backgrounders.remez.remez_method_checklist">Remez
         Method Checklist</a>
       </h5>
@@ -461,7 +461,7 @@
         </li>
 </ul></div>
 <a name="math_toolkit.backgrounders.remez.references"></a><h5>
-<a name="id812236"></a>
+<a name="id812602"></a>
         <a href="remez.html#math_toolkit.backgrounders.remez.references">References</a>
       </h5>
 <p>

Added: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_beta_dist.html
==============================================================================
--- (empty file)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_beta_dist.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -0,0 +1,413 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Noncentral Beta Distribution</title>
+<link rel="stylesheet" href="../../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
+<link rel="start" href="../../../../index.html" title="Math Toolkit">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="negative_binomial_dist.html" title="Negative Binomial Distribution">
+<link rel="next" href="nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<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">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="negative_binomial_dist.html"><img src="../../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="nc_chi_squared_dist.html"><img src="../../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="math_toolkit.dist.dist_ref.dists.nc_beta_dist"></a><a href="nc_beta_dist.html" title="Noncentral Beta Distribution"> Noncentral
+ Beta Distribution</a>
+</h5></div></div></div>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">non_central_beta</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<p>
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">class</span> Policy <span class="special">=</span> policies::policy<> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">non_central_beta_distribution</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">non_central_beta_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">non_central_beta</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> Policy<span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">non_central_beta_distribution</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
+
+ <span class="comment">// Constructor:
+</span> <span class="identifier">non_central_beta_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">beta</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">lambda</span><span class="special">);</span>
+
+ <span class="comment">// Accessor to shape parameters:
+</span> <span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">RealType</span> <span class="identifier">beta</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="comment">// Accessor to non-centrality parameter lambda:
+</span> <span class="identifier">RealType</span> <span class="identifier">non_centrality</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces
+</span></pre>
+<p>
+ The noncentral beta distribution is a generalization of the <a href="beta_dist.html" title="Beta Distribution">Beta
+ Distribution</a>.
+ </p>
+<p>
+ It is defined as the ratio X = &#967;<sub>m</sub><sup>2</sup>(&#955;) / (&#967;<sub>m</sub><sup>2</sup>(&#955;) + &#967;<sub>n</sub><sup>2</sup>) where &#967;<sub>m</sub><sup>2</sup>(&#955;) is a noncentral
+ &#967;<sup>2</sup>
+random variable with <span class="emphasis"><em>m</em></span> degrees of freedom, and
+ &#967;<sub>n</sub><sup>2</sup>
+is a central &#967;<sup>2</sup> random variable with <span class="emphasis"><em>n</em></span> degrees of
+ freedom.
+ </p>
+<p>
+ This gives a PDF that can be expressed as a Poisson mixture of beta distribution
+ PDFs:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../../equations/nc_beta_ref1.png"></span>
+ </p>
+<p>
+ where P(i;&#955;/2) is the discrete Poisson probablity at <span class="emphasis"><em>i</em></span>,
+ with mean &#955;/2, and I<sub>x</sub><sup>'</sup>(&#945;, &#946;) is the derivative of the incomplete beta function.
+ This leads to the usual form of the CDF as:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../../equations/nc_beta_ref2.png"></span>
+ </p>
+<p>
+ The following graph illustrates how the distribution changes for different
+ values of &#955;:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../../graphs/nc_beta_pdf.png" align="middle"></span>
+ </p>
+<a name="math_toolkit.dist.dist_ref.dists.nc_beta_dist.member_functions"></a><h5>
+<a name="id607474"></a>
+ <a href="nc_beta_dist.html#math_toolkit.dist.dist_ref.dists.nc_beta_dist.member_functions">Member
+ Functions</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">non_central_beta_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">b</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">lambda</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs a noncentral beta distribution with shape parameters <span class="emphasis"><em>a</em></span>
+ and <span class="emphasis"><em>b</em></span> and non-centrality parameter <span class="emphasis"><em>lambda</em></span>.
+ </p>
+<p>
+ Requires a &gt; 0, b &gt; 0 and lambda &gt;= 0, otherwise calls domain_error.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">alpha</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the parameter <span class="emphasis"><em>a</em></span> from which this object was
+ constructed.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">beta</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the parameter <span class="emphasis"><em>b</em></span> from which this object was
+ constructed.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">non_centrality</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the parameter <span class="emphasis"><em>lambda</em></span> from which this object
+ was constructed.
+ </p>
+<a name="math_toolkit.dist.dist_ref.dists.nc_beta_dist.non_member_accessors"></a><h5>
+<a name="id607732"></a>
+ <a href="nc_beta_dist.html#math_toolkit.dist.dist_ref.dists.nc_beta_dist.non_member_accessors">Non-member
+ Accessors</a>
+ </h5>
+<p>
+ Most of the <a href="../nmp.html" title="Non-Member Properties">usual non-member
+ accessor functions</a> are supported: <a href="../nmp.html#math.dist.cdf">Cumulative
+ Distribution Function</a>, <a href="../nmp.html#math.dist.pdf">Probability
+ Density Function</a>, Quantile,
+ median, mode,
+ Hazard Function, <a href="../nmp.html#math.dist.chf">Cumulative
+ Hazard Function</a>, range
+ and support.
+ </p>
+<p>
+ However, the following are not currently implemented: mean,
+ variance, <a href="../nmp.html#math.dist.sd">standard
+ deviation</a>, skewness,
+ kurtosis and kurtosis_excess.
+ </p>
+<p>
+ The domain of the random variable is [0, 1].
+ </p>
+<a name="math_toolkit.dist.dist_ref.dists.nc_beta_dist.accuracy"></a><h5>
+<a name="id607905"></a>
+ Accuracy
+ </h5>
+<p>
+ The following table shows the peak errors (in units of epsilon)
+ found on various platforms with various floating point types. No comparison
+ to the R-2.5.1 Math library,
+ or to the FORTRAN implementations of AS226 or AS310 are given since these
+ appear to only guarantee absolute error: this would causes our test harness
+ to assign an <span class="emphasis"><em>"infinite"</em></span> error to these
+ libraries for some of our test values when measuring <span class="emphasis"><em>relative
+ error</em></span>. Unless otherwise specified any floating-point type
+ that is narrower than the one shown will have <a href="../../../backgrounders/relative_error.html#zero_error">effectively
+ zero error</a>.
+ </p>
+<div class="table">
+<a name="id607967"></a><p class="title"><b>Table 12. Errors In CDF of the Noncentral Beta</b></p>
+<div class="table-contents"><table class="table" summary="Errors In CDF of the Noncentral Beta">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ &#945;, &#946;,&#955; &lt; 200
+ </p>
+ </th>
+<th>
+ <p>
+ &#945;,&#946;,&#955; &gt; 200
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32, Visual C++ 8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=620 Mean=22
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=8670 Mean=1040
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ RedHat Linux IA32, gcc-4.1.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=825 Mean=50
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=2.5x10<sup>4</sup> Mean=4000
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Redhat Linux IA64, gcc-3.4.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=825 Mean=30
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=1.7x10<sup>4</sup> Mean=2500
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HPUX IA64, aCC A.06.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=420 Mean=50
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=9200 Mean=1200
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><p>
+ Error rates for the PDF, the complement of the CDF and for the quantile
+ functions are broadly similar.
+ </p>
+<a name="math_toolkit.dist.dist_ref.dists.nc_beta_dist.tests"></a><h5>
+<a name="id608177"></a>
+ Tests
+ </h5>
+<p>
+ There are two sets of test data used to verify this implementation: firstly
+ we can compare with a few sample values generated by the <a href="http://www.r-project.org/" target="_top">R
+ library</a>. Secondly, we have tables of test data, computed with
+ this implementation and using interval arithmetic - this data should
+ be accurate to at least 50 decimal digits - and is the used for our accuracy
+ tests.
+ </p>
+<a name="math_toolkit.dist.dist_ref.dists.nc_beta_dist.implementation"></a><h5>
+<a name="id608220"></a>
+ Implementation
+ </h5>
+<p>
+ The CDF and its complement are evaluated as follows:
+ </p>
+<p>
+ First we determine which of the two values (the CDF or its complement)
+ is likely to be the smaller, the crossover point is taken to be the mean
+ of the distribution: for this we use the approximation due to: R. Chattamvelli
+ and R. Shanmugam, "Algorithm AS 310: Computing the Non-Central Beta
+ Distribution Function", Applied Statistics, Vol. 46, No. 1. (1997),
+ pp. 146-156.
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../../equations/nc_beta_ref3.png"></span>
+ </p>
+<p>
+ Then either the CDF or its complement is computed using the relations:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../../equations/nc_beta_ref4.png"></span>
+ </p>
+<p>
+ The summation is performed by starting at i = &#955;/2, and then recursing
+ in both directions, using the usual recurrence relations for the Poisson
+ PDF and incomplete beta functions. This is the "Method 2" described
+ by:
+ </p>
+<p>
+ Denise Benton and K. Krishnamoorthy, "Computing discrete mixtures
+ of continuous distributions: noncentral chisquare, noncentral t and the
+ distribution of the square of the sample multiple correlation coefficient",
+ Computational Statistics &amp; Data Analysis 43 (2003) 249-267.
+ </p>
+<p>
+ Specific applications of the above formulae to the noncentral beta distribution
+ can be found in:
+ </p>
+<p>
+ Russell V. Lenth, "Algorithm AS 226: Computing Noncentral Beta Probabilities",
+ Applied Statistics, Vol. 36, No. 2. (1987), pp. 241-244.
+ </p>
+<p>
+ H. Frick, "Algorithm AS R84: A Remark on Algorithm AS 226: Computing
+ Non-Central Beta Probabilities", Applied Statistics, Vol. 39, No.
+ 2. (1990), pp. 311-312.
+ </p>
+<p>
+ Ming Long Lam, "Remark AS R95: A Remark on Algorithm AS 226: Computing
+ Non-Central Beta Probabilities", Applied Statistics, Vol. 44, No.
+ 4. (1995), pp. 551-552.
+ </p>
+<p>
+ Harry O. Posten, "An Effective Algorithm for the Noncentral Beta
+ Distribution Function", The American Statistician, Vol. 47, No.
+ 2. (May, 1993), pp. 129-131.
+ </p>
+<p>
+ R. Chattamvelli, "A Note on the Noncentral Beta Distribution Function",
+ The American Statistician, Vol. 49, No. 2. (May, 1995), pp. 231-234.
+ </p>
+<p>
+ Of these, the Posten reference provides the most complete overview, and
+ includes the modification starting iteration at &#955;/2.
+ </p>
+<p>
+ The main difference between this implementation and the above references
+ is the direct computation of the complement when most efficient to do
+ so, and the accumulation of the sum to -1 rather than subtracting the
+ result from 1 at the end: this can substantially reduce the number of
+ iterations required when the result is near 1.
+ </p>
+<p>
+ The PDF is computed using the methodology of Benton and Krishnamoorthy
+ and the relation:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../../equations/nc_beta_ref1.png"></span>
+ </p>
+<p>
+ Quantiles are computed using a specially modified version of bracket_and_solve_root,
+ starting the search for the root at the mean of the distribution. (A
+ Cornish-Fisher type expansion was also tried, but while this gets quite
+ close to the root in many cases, when it is wrong it tends to introduce
+ quite pathological behaviour: more investigation in this area is probably
+ warranted).
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2006 , 2007, 2008 John Maddock, Paul A. Bristow, Hubert
+ Holin, Xiaogang Zhang and Bruno Lalande<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="negative_binomial_dist.html"><img src="../../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="nc_chi_squared_dist.html"><img src="../../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_chi_squared_dist.html
==============================================================================
--- (empty file)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_chi_squared_dist.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -0,0 +1,515 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Noncentral Chi-Squared Distribution</title>
+<link rel="stylesheet" href="../../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
+<link rel="start" href="../../../../index.html" title="Math Toolkit">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="nc_beta_dist.html" title="Noncentral Beta Distribution">
+<link rel="next" href="nc_f_dist.html" title="Noncentral F Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<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">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nc_beta_dist.html"><img src="../../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="nc_f_dist.html"><img src="../../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="math_toolkit.dist.dist_ref.dists.nc_chi_squared_dist"></a><a href="nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution">
+ Noncentral Chi-Squared Distribution</a>
+</h5></div></div></div>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">non_central_chi_squared</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<p>
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">class</span> Policy <span class="special">=</span> policies::policy<> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">non_central_chi_squared_distribution</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">non_central_chi_squared_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">non_central_chi_squared</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> Policy<span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">non_central_chi_squared_distribution</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
+
+ <span class="comment">// Constructor:
+</span> <span class="identifier">non_central_chi_squared_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">lambda</span><span class="special">);</span>
+
+ <span class="comment">// Accessor to degrees of freedom parameter v:
+</span> <span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="comment">// Accessor to non centrality parameter lambda:
+</span> <span class="identifier">RealType</span> <span class="identifier">non_centrality</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="comment">// Parameter finders:
+</span> <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_degrees_of_freedom</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">lambda</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">);</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">A</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">B</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">C</span><span class="special">&gt;</span>
+ <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_degrees_of_freedom</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">complemented3_type</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">,</span><span class="identifier">B</span><span class="special">,</span><span class="identifier">C</span><span class="special">&gt;&amp;</span> <span class="identifier">c</span><span class="special">);</span>
+
+ <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_non_centrality</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">);</span>
+ <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">A</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">B</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">C</span><span class="special">&gt;</span>
+ <span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_non_centrality</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">complemented3_type</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">,</span><span class="identifier">B</span><span class="special">,</span><span class="identifier">C</span><span class="special">&gt;&amp;</span> <span class="identifier">c</span><span class="special">);</span>
+<span class="special">};</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces
+</span></pre>
+<p>
+ The noncentral chi-squared distribution is a generalization of the <a href="chi_squared_dist.html" title="Chi Squared Distribution">Chi Squared
+ Distribution</a>. If X<sub>i</sub> are &#957; independent, normally distributed random
+ variables with means &#956;<sub>i</sub> and variances &#963;<sub>i</sub><sup>2</sup>, then the random variable
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../../equations/nc_chi_squ_ref1.png"></span>
+ </p>
+<p>
+ is distributed according to the noncentral chi-squared distribution.
+ </p>
+<p>
+ The noncentral chi-squared distribution has two parameters: &#957; which specifies
+ the number of degrees of freedom (i.e. the number of X<sub>i</sub>), and &#955; which is
+ related to the mean of the random variables X<sub>i</sub> by:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../../equations/nc_chi_squ_ref2.png"></span>
+ </p>
+<p>
+ (Note that some references define &#955; as one half of the above sum).
+ </p>
+<p>
+ This leads to a PDF of:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../../equations/nc_chi_squ_ref3.png"></span>
+ </p>
+<p>
+ where <span class="emphasis"><em>f(x;k)</em></span> is the central chi-squared distribution
+ PDF, and <span class="emphasis"><em>I<sub>v</sub>(x)</em></span> is a modified Bessel function of
+ the first kind.
+ </p>
+<p>
+ The following graph illustrates how the distribution changes for different
+ values of &#955;:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../../graphs/nccs_pdf.png" align="middle"></span>
+ </p>
+<a name="math_toolkit.dist.dist_ref.dists.nc_chi_squared_dist.member_functions"></a><h5>
+<a name="id609653"></a>
+ <a href="nc_chi_squared_dist.html#math_toolkit.dist.dist_ref.dists.nc_chi_squared_dist.member_functions">Member
+ Functions</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">non_central_chi_squared_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">lambda</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs a Chi-Squared distribution with <span class="emphasis"><em>v</em></span> degrees
+ of freedom and non-centrality parameter <span class="emphasis"><em>lambda</em></span>.
+ </p>
+<p>
+ Requires v &gt; 0 and lambda &gt;= 0, otherwise calls domain_error.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the parameter <span class="emphasis"><em>v</em></span> from which this object was
+ constructed.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">non_centrality</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the parameter <span class="emphasis"><em>lambda</em></span> from which this object
+ was constructed.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_degrees_of_freedom</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">lambda</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">);</span>
+</pre>
+<p>
+ This function returns the number of degrees of freedom <span class="emphasis"><em>v</em></span>
+ such that: <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">non_central_chi_squared</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span>
+ <span class="identifier">Policy</span><span class="special">&gt;(</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">lambda</span><span class="special">),</span>
+ <span class="identifier">x</span><span class="special">)</span>
+ <span class="special">==</span> <span class="identifier">p</span></code>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">A</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">B</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">C</span><span class="special">&gt;</span>
+<span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_degrees_of_freedom</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">complemented3_type</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">,</span><span class="identifier">B</span><span class="special">,</span><span class="identifier">C</span><span class="special">&gt;&amp;</span> <span class="identifier">c</span><span class="special">);</span>
+</pre>
+<p>
+ When called with argument <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">lambda</span><span class="special">,</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">q</span><span class="special">)</span></code> this function returns the number of
+ degrees of freedom <span class="emphasis"><em>v</em></span> such that:
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">non_central_chi_squared</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span>
+ <span class="identifier">Policy</span><span class="special">&gt;(</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">lambda</span><span class="special">),</span>
+ <span class="identifier">x</span><span class="special">))</span>
+ <span class="special">==</span> <span class="identifier">q</span></code>.
+ </p>
+<pre class="programlisting"><span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_non_centrality</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">p</span><span class="special">);</span>
+</pre>
+<p>
+ This function returns the non centrality parameter <span class="emphasis"><em>lambda</em></span>
+ such that:
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">non_central_chi_squared</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span>
+ <span class="identifier">Policy</span><span class="special">&gt;(</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">lambda</span><span class="special">),</span>
+ <span class="identifier">x</span><span class="special">)</span>
+ <span class="special">==</span> <span class="identifier">p</span></code>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">A</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">B</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">C</span><span class="special">&gt;</span>
+<span class="keyword">static</span> <span class="identifier">RealType</span> <span class="identifier">find_non_centrality</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">complemented3_type</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">,</span><span class="identifier">B</span><span class="special">,</span><span class="identifier">C</span><span class="special">&gt;&amp;</span> <span class="identifier">c</span><span class="special">);</span>
+</pre>
+<p>
+ When called with argument <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">q</span><span class="special">)</span></code> this function returns the non centrality
+ parameter <span class="emphasis"><em>lambda</em></span> such that:
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">non_central_chi_squared</span><span class="special">&lt;</span><span class="identifier">RealType</span><span class="special">,</span>
+ <span class="identifier">Policy</span><span class="special">&gt;(</span><span class="identifier">v</span><span class="special">,</span> <span class="identifier">lambda</span><span class="special">),</span>
+ <span class="identifier">x</span><span class="special">))</span>
+ <span class="special">==</span> <span class="identifier">q</span></code>.
+ </p>
+<a name="math_toolkit.dist.dist_ref.dists.nc_chi_squared_dist.non_member_accessors"></a><h5>
+<a name="id610889"></a>
+ <a href="nc_chi_squared_dist.html#math_toolkit.dist.dist_ref.dists.nc_chi_squared_dist.non_member_accessors">Non-member
+ Accessors</a>
+ </h5>
+<p>
+ All the <a href="../nmp.html" title="Non-Member Properties">usual non-member
+ accessor functions</a> that are generic to all distributions are supported:
+ Cumulative Distribution Function,
+ Probability Density Function, Quantile, <a href="../nmp.html#math.dist.hazard">Hazard
+ Function</a>, Cumulative Hazard Function,
+ mean, median,
+ mode, variance,
+ standard deviation, skewness,
+ kurtosis, kurtosis_excess,
+ range and support.
+ </p>
+<p>
+ The domain of the random variable is [0, +&#8734;].
+ </p>
+<a name="math_toolkit.dist.dist_ref.dists.nc_chi_squared_dist.examples"></a><h5>
+<a name="id611061"></a>
+ Examples
+ </h5>
+<p>
+ There is a <a href="../../stat_tut/weg/nccs_eg.html" title="Non Central Chi Squared Example">worked
+ example</a> for the noncentral chi-squared distribution.
+ </p>
+<a name="math_toolkit.dist.dist_ref.dists.nc_chi_squared_dist.accuracy"></a><h5>
+<a name="id611100"></a>
+ Accuracy
+ </h5>
+<p>
+ The following table shows the peak errors (in units of epsilon)
+ found on various platforms with various floating-point types, along with
+ comparisons to the <a href="http://www.r-project.org/" target="_top">R-2.5.1 Math
+ library</a>. Unless otherwise specified, any floating-point type
+ that is narrower than the one shown will have <a href="../../../backgrounders/relative_error.html#zero_error">effectively
+ zero error</a>.
+ </p>
+<div class="table">
+<a name="id611148"></a><p class="title"><b>Table 13. Errors In CDF of the Noncentral Chi-Squared</b></p>
+<div class="table-contents"><table class="table" summary="Errors In CDF of the Noncentral Chi-Squared">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ &#957;,&#955; &lt; 200
+ </p>
+ </th>
+<th>
+ <p>
+ &#957;,&#955; &gt; 200
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32, Visual C++ 8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=50 Mean=9.9
+ </p>
+ <p>
+ R Peak=685 Mean=109
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=9780 Mean=718
+ </p>
+ <p>
+ R Peak=3x10<sup>8</sup> Mean=2x10<sup>7</sup>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ RedHat Linux IA32, gcc-4.1.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=270 Mean=27
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=7900 Mean=900
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Redhat Linux IA64, gcc-3.4.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=107 Mean=17
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=5000 Mean=630
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HPUX IA64, aCC A.06.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=270 Mean=20
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=4600 Mean=560
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><p>
+ Error rates for the complement of the CDF and for the quantile functions
+ are broadly similar. Special mention should go to the <code class="computeroutput"><span class="identifier">mode</span></code>
+ function: there is no closed form for this function, so it is evaluated
+ numerically by finding the maxima of the PDF: in principal this can not
+ produce an accuracy greater than the square root of the machine epsilon.
+ </p>
+<a name="math_toolkit.dist.dist_ref.dists.nc_chi_squared_dist.tests"></a><h5>
+<a name="id611383"></a>
+ Tests
+ </h5>
+<p>
+ There are two sets of test data used to verify this implementation: firstly
+ we can compare with published data, for example with Table 6 of "Self-Validating
+ Computations of Probabilities for Selected Central and Noncentral Univariate
+ Probability Functions", Morgan C. Wang and William J. Kennedy, Journal
+ of the American Statistical Association, Vol. 89, No. 427. (Sep., 1994),
+ pp. 878-887. Secondly, we have tables of test data, computed with this
+ implementation and using interval arithmetic - this data should be accurate
+ to at least 50 decimal digits - and is the used for our accuracy tests.
+ </p>
+<a name="math_toolkit.dist.dist_ref.dists.nc_chi_squared_dist.implementation"></a><h5>
+<a name="id611424"></a>
+ Implementation
+ </h5>
+<p>
+ The CDF and its complement are evaluated as follows:
+ </p>
+<p>
+ First we determine which of the two values (the CDF or its complement)
+ is likely to be the smaller: for this we can use the relation due to
+ Temme (see "Asymptotic and Numerical Aspects of the Noncentral Chi-Square
+ Distribution", N. M. Temme, Computers Math. Applic. Vol 25, No.
+ 5, 55-63, 1993) that:
+ </p>
+<p>
+ F(&#957;,&#955;;&#957;+&#955;) &#8776; 0.5
+ </p>
+<p>
+ and so compute the CDF when the random variable is less than &#957;+&#955;, and its
+ complement when the random variable is greater than &#957;+&#955;. If necessary the
+ computed result is then subtracted from 1 to give the desired result
+ (the CDF or its complement).
+ </p>
+<p>
+ For small values of the non centrality parameter, the CDF is computed
+ using the method of Ding (see "Algorithm AS 275: Computing the Non-Central
+ #2 Distribution Function", Cherng G. Ding, Applied Statistics, Vol.
+ 41, No. 2. (1992), pp. 478-482). This uses the following series representation:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../../equations/nc_chi_squ_ref4.png"></span>
+ </p>
+<p>
+ which requires just one call to gamma_p_derivative
+ with the subsequent terms being computed by recursion as shown above.
+ </p>
+<p>
+ For larger values of the non-centrality parameter, Ding's method can
+ take an unreasonable number of terms before convergence is achieved.
+ Furthermore, the largest term is not the first term, so in extreme cases
+ the first term may be zero, leading to a zero result, even though the
+ true value may be non-zero.
+ </p>
+<p>
+ Therefore, when the non-centrality parameter is greater than 200, the
+ method due to Krishnamoorthy (see "Computing discrete mixtures of
+ continuous distributions: noncentral chisquare, noncentral t and the
+ distribution of the square of the sample multiple correlation coefficient",
+ Denise Benton and K. Krishnamoorthy, Computational Statistics &amp; Data
+ Analysis, 43, (2003), 249-267) is used.
+ </p>
+<p>
+ This method uses the well known sum:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../../equations/nc_chi_squ_ref5.png"></span>
+ </p>
+<p>
+ Where P<sub>a</sub>(x) is the incomplete gamma function.
+ </p>
+<p>
+ The method starts at the &#955;th term, which is where the Poisson weighting
+ function achieves its maximum value, although this is not necessarily
+ the largest overall term. Subsequent terms are calculated via the normal
+ recurrence relations for the incomplete gamma function, and iteration
+ proceeds both forwards and backwards until sufficient precision has been
+ achieved. It should be noted that recurrence in the forwards direction
+ of P<sub>a</sub>(x) is numerically unstable. However, since we always start <span class="emphasis"><em>after</em></span>
+ the largest term in the series, numeric instability is introduced more
+ slowly than the series converges.
+ </p>
+<p>
+ Computation of the complement of the CDF uses an extension of Krishnamoorthy's
+ method, given that:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../../equations/nc_chi_squ_ref6.png"></span>
+ </p>
+<p>
+ we can again start at the &#955;'th term and proceed in both directions from
+ there until the required precision is achieved. This time it is backwards
+ recursion on the incomplete gamma function Q<sub>a</sub>(x) which is unstable. However,
+ as long as we start well <span class="emphasis"><em>before</em></span> the largest term,
+ this is not an issue in practice.
+ </p>
+<p>
+ The PDF is computed directly using the relation:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../../equations/nc_chi_squ_ref3.png"></span>
+ </p>
+<p>
+ Where <span class="emphasis"><em>f(x; v)</em></span> is the PDF of the central <a href="chi_squared_dist.html" title="Chi Squared Distribution">Chi
+ Squared Distribution</a> and <span class="emphasis"><em>I<sub>v</sub>(x)</em></span> is a modified
+ Bessel function, see cyl_bessel_i.
+ For small values of the non-centrality parameter the relation in terms
+ of cyl_bessel_i
+ is used. However, this method fails for large values of the non-centrality
+ parameter, so in that case the infinite sum is evaluated using the method
+ of Benton and Krishnamoorthy, and the usual recurrence relations for
+ successive terms.
+ </p>
+<p>
+ The quantile functions are computed by numeric inversion of the CDF.
+ </p>
+<p>
+ There is no <a href="http://en.wikipedia.org/wiki/Closed_form" target="_top">closed
+ form</a> for the mode of the noncentral chi-squared distribution:
+ it is computed numerically by finding the maximum of the PDF. Likewise,
+ the median is computed numerically via the quantile.
+ </p>
+<p>
+ The remaining non-member functions use the following formulas:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../../equations/nc_chi_squ_ref7.png"></span>
+ </p>
+<p>
+ Some analytic properties of noncentral distributions (particularly unimodality,
+ and monotonicity of their modes) are surveyed and summarized by:
+ </p>
+<p>
+ Andrea van Aubel &amp; Wolfgang Gawronski, Applied Mathematics and Computation,
+ 141 (2003) 3-12.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2006 , 2007, 2008 John Maddock, Paul A. Bristow, Hubert
+ Holin, Xiaogang Zhang and Bruno Lalande<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nc_beta_dist.html"><img src="../../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="nc_f_dist.html"><img src="../../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_f_dist.html
==============================================================================
--- (empty file)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_f_dist.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -0,0 +1,422 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Noncentral F Distribution</title>
+<link rel="stylesheet" href="../../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
+<link rel="start" href="../../../../index.html" title="Math Toolkit">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution">
+<link rel="next" href="nc_t_dist.html" title="Noncentral T Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<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">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nc_chi_squared_dist.html"><img src="../../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="nc_t_dist.html"><img src="../../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="math_toolkit.dist.dist_ref.dists.nc_f_dist"></a><a href="nc_f_dist.html" title="Noncentral F Distribution"> Noncentral
+ F Distribution</a>
+</h5></div></div></div>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">non_central_f</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<p>
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">class</span> Policy <span class="special">=</span> policies::policy<> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">non_central_f_distribution</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">non_central_f_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">non_central_f</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> Policy<span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">non_central_f_distribution</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
+
+ <span class="comment">// Constructor:
+</span> <span class="identifier">non_central_f_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">v1</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">v2</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">lambda</span><span class="special">);</span>
+
+ <span class="comment">// Accessor to degrees_of_freedom parameters v1 &amp; v2:
+</span> <span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom1</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom2</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="comment">// Accessor to non-centrality parameter lambda:
+</span> <span class="identifier">RealType</span> <span class="identifier">non_centrality</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces
+</span></pre>
+<p>
+ The noncentral F distribution is a generalization of the <a href="f_dist.html" title="F Distribution">Fisher
+ F Distribution</a>. It is defined as the ratio
+ </p>
+<pre class="programlisting"><span class="identifier">F</span> <span class="special">=</span> <span class="special">(</span><span class="identifier">X</span><span class="special">/</span><span class="identifier">v1</span><span class="special">)</span> <span class="special">/</span> <span class="special">(</span><span class="identifier">Y</span><span class="special">/</span><span class="identifier">v2</span><span class="special">)</span>
+</pre>
+<p>
+ where X is a noncentral &#967;<sup>2</sup>
+random variable with <span class="emphasis"><em>v1</em></span>
+ degrees of freedom and non-centrality parameter &#955;, and Y is a central
+ &#967;<sup>2</sup> random variable with <span class="emphasis"><em>v2</em></span> degrees of freedom.
+ </p>
+<p>
+ This gives the following PDF:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../../equations/nc_f_ref1.png"></span>
+ </p>
+<p>
+ where L<sub>a</sub><sup>b</sup>(c) is a generalised Laguerre polynomial and B(a,b) is the
+ beta
+ function, or
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../../equations/nc_f_ref2.png"></span>
+ </p>
+<p>
+ The following graph illustrates how the distribution changes for different
+ values of &#955;:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../../graphs/nc_f_pdf.png" align="middle"></span>
+ </p>
+<a name="math_toolkit.dist.dist_ref.dists.nc_f_dist.member_functions"></a><h5>
+<a name="id612671"></a>
+ <a href="nc_f_dist.html#math_toolkit.dist.dist_ref.dists.nc_f_dist.member_functions">Member
+ Functions</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">non_central_f_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">v1</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">v2</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">lambda</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs a non-central beta distribution with parameters <span class="emphasis"><em>v1</em></span>
+ and <span class="emphasis"><em>v2</em></span> and non-centrality parameter <span class="emphasis"><em>lambda</em></span>.
+ </p>
+<p>
+ Requires v1 &gt; 0, v2 &gt; 0 and lambda &gt;= 0, otherwise calls domain_error.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom1</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the parameter <span class="emphasis"><em>v1</em></span> from which this object
+ was constructed.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom2</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the parameter <span class="emphasis"><em>v2</em></span> from which this object
+ was constructed.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">non_centrality</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the non-centrality parameter <span class="emphasis"><em>lambda</em></span> from
+ which this object was constructed.
+ </p>
+<a name="math_toolkit.dist.dist_ref.dists.nc_f_dist.non_member_accessors"></a><h5>
+<a name="id612929"></a>
+ <a href="nc_f_dist.html#math_toolkit.dist.dist_ref.dists.nc_f_dist.non_member_accessors">Non-member
+ Accessors</a>
+ </h5>
+<p>
+ All the <a href="../nmp.html" title="Non-Member Properties">usual non-member
+ accessor functions</a> that are generic to all distributions are supported:
+ Cumulative Distribution Function,
+ Probability Density Function, Quantile, <a href="../nmp.html#math.dist.hazard">Hazard
+ Function</a>, Cumulative Hazard Function,
+ mean, median,
+ mode, variance,
+ standard deviation, skewness,
+ kurtosis, kurtosis_excess,
+ range and support.
+ </p>
+<p>
+ The domain of the random variable is [0, +&#8734;].
+ </p>
+<a name="math_toolkit.dist.dist_ref.dists.nc_f_dist.accuracy"></a><h5>
+<a name="id613100"></a>
+ Accuracy
+ </h5>
+<p>
+ This distribution is implemented in terms of the <a href="nc_beta_dist.html" title="Noncentral Beta Distribution">noncentral
+ beta distribution</a>: refer to that distribution for accuracy data.
+ </p>
+<a name="math_toolkit.dist.dist_ref.dists.nc_f_dist.tests"></a><h5>
+<a name="id613141"></a>
+ Tests
+ </h5>
+<p>
+ Since this distribution is implemented by adapting another distribution,
+ the tests consist of basic sanity checks computed by the <a href="http://www.r-project.org/" target="_top">R-2.5.1
+ Math library statistical package</a> and its pbeta and dbeta functions.
+ </p>
+<a name="math_toolkit.dist.dist_ref.dists.nc_f_dist.implementation"></a><h5>
+<a name="id613178"></a>
+ Implementation
+ </h5>
+<p>
+ In the following table <span class="emphasis"><em>v1</em></span> and <span class="emphasis"><em>v2</em></span>
+ are the first and second degrees of freedom parameters of the distribution,
+ &#955;
+is the non-centrality parameter, <span class="emphasis"><em>x</em></span> is the random
+ variate, <span class="emphasis"><em>p</em></span> is the probability, and <span class="emphasis"><em>q =
+ 1-p</em></span>.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Implementation Notes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ pdf
+ </p>
+ </td>
+<td>
+ <p>
+ Implemented in terms of the non-central beta PDF using the relation:
+ </p>
+ <p>
+ f(x;v1,v2;&#955;) = (v1/v2) / ((1+y)*(1+y)) * g(y/(1+y);v1/2,v2/2;&#955;)
+ </p>
+ <p>
+ where g(x; a, b; &#955;) is the non central beta PDF, and:
+ </p>
+ <p>
+ y = x * v1 / v2
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation:
+ </p>
+ <p>
+ p = B<sub>y</sub>(v1/2, v2/2; &#955;)
+ </p>
+ <p>
+ where B<sub>x</sub>(a, b; &#955;) is the noncentral beta distribution CDF and
+ </p>
+ <p>
+ y = x * v1 / v2
+ </p>
+ <p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ cdf complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation:
+ </p>
+ <p>
+ q = 1 - B<sub>y</sub>(v1/2, v2/2; &#955;)
+ </p>
+ <p>
+ where 1 - B<sub>x</sub>(a, b; &#955;) is the complement of the noncentral beta
+ distribution CDF and
+ </p>
+ <p>
+ y = x * v1 / v2
+ </p>
+ <p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation:
+ </p>
+ <p>
+ x = (bx / (1-bx)) * (v1 / v2)
+ </p>
+ <p>
+ where
+ </p>
+ <p>
+ bx = Q<sub>p</sub><sup>-1</sup>(v1/2, v2/2; &#955;)
+ </p>
+ <p>
+ and
+ </p>
+ <p>
+ Q<sub>p</sub><sup>-1</sup>(v1/2, v2/2; &#955;)
+ </p>
+ <p>
+ is the noncentral beta quantile.
+ </p>
+ <p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ quantile
+ </p>
+ <p>
+ from the complement
+ </p>
+ </td>
+<td>
+ <p>
+ Using the relation:
+ </p>
+ <p>
+ x = (bx / (1-bx)) * (v1 / v2)
+ </p>
+ <p>
+ where
+ </p>
+ <p>
+ bx = QC<sub>q</sub><sup>-1</sup>(v1/2, v2/2; &#955;)
+ </p>
+ <p>
+ and
+ </p>
+ <p>
+ QC<sub>q</sub><sup>-1</sup>(v1/2, v2/2; &#955;)
+ </p>
+ <p>
+ is the noncentral beta quantile from the complement.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mean
+ </p>
+ </td>
+<td>
+ <p>
+ v2 * (v1 + l) / (v1 * (v2 - 2))
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ mode
+ </p>
+ </td>
+<td>
+ <p>
+ By numeric maximalisation of the PDF.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ variance
+ </p>
+ </td>
+<td>
+ <p>
+ Refer to, <a href="http://mathworld.wolfram.com/NoncentralF-Distribution.html" target="_top">Weisstein,
+ Eric W. "Noncentral F-Distribution." From MathWorld--A
+ Wolfram Web Resource.</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ skewness
+ </p>
+ </td>
+<td>
+ <p>
+ Refer to, <a href="http://mathworld.wolfram.com/NoncentralF-Distribution.html" target="_top">Weisstein,
+ Eric W. "Noncentral F-Distribution." From MathWorld--A
+ Wolfram Web Resource.</a>, and to the <a href="http://reference.wolfram.com/mathematica/ref/NoncentralFRatioDistribution.html" target="_top">Mathematica
+ documentation</a>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ kurtosis and kurtosis excess
+ </p>
+ </td>
+<td>
+ <p>
+ Refer to, <a href="http://mathworld.wolfram.com/NoncentralF-Distribution.html" target="_top">Weisstein,
+ Eric W. "Noncentral F-Distribution." From MathWorld--A
+ Wolfram Web Resource.</a>, and to the <a href="http://reference.wolfram.com/mathematica/ref/NoncentralFRatioDistribution.html" target="_top">Mathematica
+ documentation</a>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ Some analytic properties of noncentral distributions (particularly unimodality,
+ and monotonicity of their modes) are surveyed and summarized by:
+ </p>
+<p>
+ Andrea van Aubel &amp; Wolfgang Gawronski, Applied Mathematics and Computation,
+ 141 (2003) 3-12.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2006 , 2007, 2008 John Maddock, Paul A. Bristow, Hubert
+ Holin, Xiaogang Zhang and Bruno Lalande<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nc_chi_squared_dist.html"><img src="../../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="nc_t_dist.html"><img src="../../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_t_dist.html
==============================================================================
--- (empty file)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/dist/dist_ref/dists/nc_t_dist.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -0,0 +1,366 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Noncentral T Distribution</title>
+<link rel="stylesheet" href="../../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
+<link rel="start" href="../../../../index.html" title="Math Toolkit">
+<link rel="up" href="../dists.html" title="Distributions">
+<link rel="prev" href="nc_f_dist.html" title="Noncentral F Distribution">
+<link rel="next" href="normal_dist.html" title="Normal (Gaussian) Distribution">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<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">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nc_f_dist.html"><img src="../../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="normal_dist.html"><img src="../../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="math_toolkit.dist.dist_ref.dists.nc_t_dist"></a><a href="nc_t_dist.html" title="Noncentral T Distribution"> Noncentral
+ T Distribution</a>
+</h5></div></div></div>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">non_central_t</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<p>
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span> <span class="special">=</span> <span class="keyword">double</span><span class="special">,</span>
+ <span class="keyword">class</span> Policy <span class="special">=</span> policies::policy<> <span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">non_central_t_distribution</span><span class="special">;</span>
+
+<span class="keyword">typedef</span> <span class="identifier">non_central_t_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">non_central_t</span><span class="special">;</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RealType</span><span class="special">,</span> <span class="keyword">class</span> Policy<span class="special">&gt;</span>
+<span class="keyword">class</span> <span class="identifier">non_central_t_distribution</span>
+<span class="special">{</span>
+<span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="identifier">RealType</span> <span class="identifier">value_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">Policy</span> <span class="identifier">policy_type</span><span class="special">;</span>
+
+ <span class="comment">// Constructor:
+</span> <span class="identifier">non_central_t_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">delta</span><span class="special">);</span>
+
+ <span class="comment">// Accessor to degrees_of_freedom parameter v:
+</span> <span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="comment">// Accessor to non-centrality parameter lambda:
+</span> <span class="identifier">RealType</span> <span class="identifier">non_centrality</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+<span class="special">};</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces
+</span></pre>
+<p>
+ The noncentral T distribution is a generalization of the <a href="students_t_dist.html" title="Students t Distribution">Students
+ t Distribution</a>. Let X have a normal distribution with mean &#948; and
+ variance 1, and let &#957; S<sup>2</sup> have a chi-squared distribution with degrees of
+ freedom &#957;. Assume that X and S<sup>2</sup> are independent. The distribution of t<sub>&#957;</sub>(&#948;)=X/S
+ is called a noncentral t distribution with degrees of freedom &#957; and noncentrality
+ parameter &#948;.
+ </p>
+<p>
+ This gives the following PDF:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../../equations/nc_t_ref1.png"></span>
+ </p>
+<p>
+ where <sub>1</sub>F<sub>1</sub>(a;b;x) is a confluent hypergeometric function.
+ </p>
+<p>
+ The following graph illustrates how the distribution changes for different
+ values of &#948;:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../../graphs/nc_t_pdf.png" align="middle"></span>
+ </p>
+<a name="math_toolkit.dist.dist_ref.dists.nc_t_dist.member_functions"></a><h5>
+<a name="id614340"></a>
+ <a href="nc_t_dist.html#math_toolkit.dist.dist_ref.dists.nc_t_dist.member_functions">Member
+ Functions</a>
+ </h5>
+<pre class="programlisting"><span class="identifier">non_central_t_distribution</span><span class="special">(</span><span class="identifier">RealType</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">RealType</span> <span class="identifier">lambda</span><span class="special">);</span>
+</pre>
+<p>
+ Constructs a non-central t distribution with degrees of freedom parameter
+ <span class="emphasis"><em>v</em></span> and non-centrality parameter <span class="emphasis"><em>delta</em></span>.
+ </p>
+<p>
+ Requires v &gt; 0 and finite delta, otherwise calls domain_error.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">degrees_of_freedom</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the parameter <span class="emphasis"><em>v</em></span> from which this object was
+ constructed.
+ </p>
+<pre class="programlisting"><span class="identifier">RealType</span> <span class="identifier">non_centrality</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+</pre>
+<p>
+ Returns the non-centrality parameter <span class="emphasis"><em>delta</em></span> from
+ which this object was constructed.
+ </p>
+<a name="math_toolkit.dist.dist_ref.dists.nc_t_dist.non_member_accessors"></a><h5>
+<a name="id614534"></a>
+ <a href="nc_t_dist.html#math_toolkit.dist.dist_ref.dists.nc_t_dist.non_member_accessors">Non-member
+ Accessors</a>
+ </h5>
+<p>
+ All the <a href="../nmp.html" title="Non-Member Properties">usual non-member
+ accessor functions</a> that are generic to all distributions are supported:
+ Cumulative Distribution Function,
+ Probability Density Function, Quantile, <a href="../nmp.html#math.dist.hazard">Hazard
+ Function</a>, Cumulative Hazard Function,
+ mean, median,
+ mode, variance,
+ standard deviation, skewness,
+ kurtosis, kurtosis_excess,
+ range and support.
+ </p>
+<p>
+ The domain of the random variable is [-&#8734;, +&#8734;].
+ </p>
+<a name="math_toolkit.dist.dist_ref.dists.nc_t_dist.accuracy"></a><h5>
+<a name="id614706"></a>
+ Accuracy
+ </h5>
+<p>
+ The following table shows the peak errors (in units of epsilon)
+ found on various platforms with various floating-point types. Unless
+ otherwise specified, any floating-point type that is narrower than the
+ one shown will have effectively zero error.
+ </p>
+<div class="table">
+<a name="id614747"></a><p class="title"><b>Table 14. Errors In CDF of the Noncentral T Distribution</b></p>
+<div class="table-contents"><table class="table" summary="Errors In CDF of the Noncentral T Distribution">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ &#957;,&#948; &lt; 600
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32, Visual C++ 8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=120 Mean=26
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ RedHat Linux IA32, gcc-4.1.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=121 Mean=26
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Redhat Linux IA64, gcc-3.4.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=122 Mean=25
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HPUX IA64, aCC A.06.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=115 Mean=24
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><div class="caution"><table border="0" summary="Caution">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../../../doc/html/images/caution.png"></td>
+<th align="left">Caution</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ The complexity of the current algorithm is dependent upon &#948;<sup>2</sup>: consequently
+ the time taken to evaluate the CDF increases rapidly for &#948; &gt; 500,
+ likewise the accuracy decreases rapidly for very large &#948;.
+ </p></td></tr>
+</table></div>
+<p>
+ Accuracy for the quantile and PDF functions should be broadly similar,
+ note however that the <span class="emphasis"><em>mode</em></span> is determined numerically
+ and can not in principal be more accurate than the square root of machine
+ epsilon.
+ </p>
+<a name="math_toolkit.dist.dist_ref.dists.nc_t_dist.tests"></a><h5>
+<a name="id614940"></a>
+ Tests
+ </h5>
+<p>
+ There are two sets of tests of this distribution: basic sanity checks
+ compare this implementation to the test values given in "Computing
+ discrete mixtures of continuous distributions: noncentral chisquare,
+ noncentral t and the distribution of the square of the sample multiple
+ correlation coefficient." Denise Benton, K. Krishnamoorthy, Computational
+ Statistics &amp; Data Analysis 43 (2003) 249-267. While accuracy checks
+ use test data computed with this implementation and arbitary precision
+ interval arithmetic: this test data is believed to be accurate to at
+ least 50 decimal places.
+ </p>
+<a name="math_toolkit.dist.dist_ref.dists.nc_t_dist.implementation"></a><h5>
+<a name="id614983"></a>
+ Implementation
+ </h5>
+<p>
+ The CDF is computed using a modification of the method described in "Computing
+ discrete mixtures of continuous distributions: noncentral chisquare,
+ noncentral t and the distribution of the square of the sample multiple
+ correlation coefficient." Denise Benton, K. Krishnamoorthy, Computational
+ Statistics &amp; Data Analysis 43 (2003) 249-267.
+ </p>
+<p>
+ This uses the following formula for the CDF:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../../equations/nc_t_ref2.png"></span>
+ </p>
+<p>
+ Where I<sub>x</sub>(a,b) is the incomplete beta function, and &#934;(x) is the normal
+ CDF at x.
+ </p>
+<p>
+ Iteration starts at the largest of the Poisson weighting terms (at i
+ = &#948;<sup>2</sup> / 2) and then proceeds in both directions as per Benton and Krishnamoorthy's
+ paper.
+ </p>
+<p>
+ Alternatively, by considering what happens when t = &#8734;, we have x = 1,
+ and therefore I<sub>x</sub>(a,b) = 1 and:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../../equations/nc_t_ref3.png"></span>
+ </p>
+<p>
+ From this we can easily show that:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../../equations/nc_t_ref4.png"></span>
+ </p>
+<p>
+ and therefore we have a means to compute either the probability or its
+ complement directly without the risk of cancellation error. The crossover
+ criterion for choosing whether to calculate the CDF or it's complement
+ is the same as for the <a href="nc_beta_dist.html" title="Noncentral Beta Distribution">noncentral
+ beta distribution</a>.
+ </p>
+<p>
+ The PDF can be computed by a very similar method using:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../../equations/nc_t_ref5.png"></span>
+ </p>
+<p>
+ Where I<sub>x</sub><sup>'</sup>(a,b) is the derivative of the incomplete beta function.
+ </p>
+<p>
+ The quantile is calculated via the usual <a href="../../../toolkit/internals1/roots2.html" title="Root Finding Without Derivatives">derivative-free
+ root-finding techniques</a>, with the initial guess taken as the quantile
+ of a normal approximation to the noncentral T.
+ </p>
+<p>
+ There is no closed form for the mode, so this is computed via functional
+ maximisation of the PDF.
+ </p>
+<p>
+ The remaining functions (mean, variance etc) are implemented using the
+ formulas given in Weisstein, Eric W. "Noncentral Student's t-Distribution."
+ From MathWorld--A Wolfram Web Resource. http://mathworld.wolfram.com/NoncentralStudentst-Distribution.html
+ and in the <a href="http://reference.wolfram.com/mathematica/ref/NoncentralStudentTDistribution.html" target="_top">Mathematica
+ documentation</a>.
+ </p>
+<p>
+ Some analytic properties of noncentral distributions (particularly unimodality,
+ and monotonicity of their modes) are surveyed and summarized by:
+ </p>
+<p>
+ Andrea van Aubel &amp; Wolfgang Gawronski, Applied Mathematics and Computation,
+ 141 (2003) 3-12.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2006 , 2007, 2008 John Maddock, Paul A. Bristow, Hubert
+ Holin, Xiaogang Zhang and Bruno Lalande<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nc_f_dist.html"><img src="../../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../dists.html"><img src="../../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="normal_dist.html"><img src="../../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/nccs_eg.html
==============================================================================
--- (empty file)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/nccs_eg.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Non Central Chi Squared Example</title>
+<link rel="stylesheet" href="../../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
+<link rel="start" href="../../../../index.html" title="Math Toolkit">
+<link rel="up" href="../weg.html" title="Worked Examples">
+<link rel="prev" href="normal_example/normal_misc.html" title="Some Miscellaneous Examples of the Normal (Gaussian) Distribution">
+<link rel="next" href="nccs_eg/nccs_power_eg.html" title="Tables of the power function of the &#967;2 test.">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<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">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="normal_example/normal_misc.html"><img src="../../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="nccs_eg/nccs_power_eg.html"><img src="../../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h5 class="title">
+<a name="math_toolkit.dist.stat_tut.weg.nccs_eg"></a><a href="nccs_eg.html" title="Non Central Chi Squared Example"> Non Central
+ Chi Squared Example</a>
+</h5></div></div></div>
+<div class="toc"><dl><dt><span class="section"><a href="nccs_eg/nccs_power_eg.html">
+ Tables of the power function of the &#967;<sup>2</sup> test.</a></span></dt></dl></div>
+<p>
+ (See also the reference documentation for the <a href="../../dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution">Non
+ Central Chi Squared</a>.)
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2006 , 2007, 2008 John Maddock, Paul A. Bristow, Hubert
+ Holin, Xiaogang Zhang and Bruno Lalande<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="normal_example/normal_misc.html"><img src="../../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../weg.html"><img src="../../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="nccs_eg/nccs_power_eg.html"><img src="../../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/nccs_eg/nccs_power_eg.html
==============================================================================
--- (empty file)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/nccs_eg/nccs_power_eg.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -0,0 +1,1342 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Tables of the power function of the &#967;2 test.</title>
+<link rel="stylesheet" href="../../../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
+<link rel="start" href="../../../../../index.html" title="Math Toolkit">
+<link rel="up" href="../nccs_eg.html" title="Non Central Chi Squared Example">
+<link rel="prev" href="../nccs_eg.html" title="Non Central Chi Squared Example">
+<link rel="next" href="../error_eg.html" title="Error Handling Example">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<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">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../nccs_eg.html"><img src="../../../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../nccs_eg.html"><img src="../../../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../error_eg.html"><img src="../../../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h6 class="title">
+<a name="math_toolkit.dist.stat_tut.weg.nccs_eg.nccs_power_eg"></a><a href="nccs_power_eg.html" title="Tables of the power function of the &#967;2 test.">
+ Tables of the power function of the &#967;<sup>2</sup> test.</a>
+</h6></div></div></div>
+<p>
+ </p>
+<p>
+ This example computes a table of the power of the &#967;<sup>2</sup>
+test at the 5%
+ significance level, for various degrees of freedom and non-centrality
+ parameters. The table is deliberately the same as Table 6 from "The
+ Non-Central &#967;<sup>2</sup> and F-Distributions and their applications.", P.
+ B. Patnaik, Biometrika, Vol. 36, No. 1/2 (June 1949), 202-232.
+ </p>
+<p>
+ </p>
+<p>
+ First we need some includes to access the non-central chi squared
+ distribution (and some basic std output of course).
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">distributions</span><span class="special">/</span><span class="identifier">non_central_chi_squared</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+
+<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
+<span class="special">{</span></pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ Create a table of the power of the &#967;<sup>2</sup> test at 5% significance level,
+ start with a table header:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"[table\n[[[nu]]"</span><span class="special">;</span>
+<span class="keyword">for</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">lam</span> <span class="special">=</span> <span class="number">2</span><span class="special">;</span> <span class="identifier">lam</span> <span class="special">&lt;=</span> <span class="number">20</span><span class="special">;</span> <span class="identifier">lam</span> <span class="special">+=</span> <span class="number">2</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"[[lambda]="</span> <span class="special">&lt;&lt;</span> <span class="identifier">lam</span> <span class="special">&lt;&lt;</span> <span class="string">"]"</span><span class="special">;</span>
+<span class="special">}</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"]\n"</span><span class="special">;</span></pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ (Note: the enclosing [] brackets are to format as a table in Boost.Quickbook).
+ </p>
+<p>
+ </p>
+<p>
+ Enumerate the rows and columns and print the power of the test for
+ each table cell:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">for</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="number">2</span><span class="special">;</span> <span class="identifier">n</span> <span class="special">&lt;=</span> <span class="number">20</span><span class="special">;</span> <span class="special">++</span><span class="identifier">n</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"[["</span> <span class="special">&lt;&lt;</span> <span class="identifier">n</span> <span class="special">&lt;&lt;</span> <span class="string">"]"</span><span class="special">;</span>
+ <span class="keyword">for</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">lam</span> <span class="special">=</span> <span class="number">2</span><span class="special">;</span> <span class="identifier">lam</span> <span class="special">&lt;=</span> <span class="number">20</span><span class="special">;</span> <span class="identifier">lam</span> <span class="special">+=</span> <span class="number">2</span><span class="special">)</span>
+ <span class="special">{</span></pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ Calculate the &#967;<sup>2</sup> statistic for a 5% significance:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">cs</span> <span class="special">=</span> <span class="identifier">quantile</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">chi_squared</span><span class="special">(</span><span class="identifier">n</span><span class="special">),</span> <span class="number">0.05</span><span class="special">));</span></pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ The power of the test is given by the complement of the CDF of the
+ non-central &#967;<sup>2</sup> distribution:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">double</span> <span class="identifier">beta</span> <span class="special">=</span> <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">complement</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">non_central_chi_squared</span><span class="special">(</span><span class="identifier">n</span><span class="special">,</span> <span class="identifier">lam</span><span class="special">),</span> <span class="identifier">cs</span><span class="special">));</span></pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ Then output the cell value:
+ </p>
+<p>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"> <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"["</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">setprecision</span><span class="special">(</span><span class="number">3</span><span class="special">)</span> <span class="special">&lt;&lt;</span> <span class="identifier">beta</span> <span class="special">&lt;&lt;</span> <span class="string">"]"</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"]"</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="special">}</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"]"</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="special">}</span></pre>
+<p>
+ </p>
+<p>
+ </p>
+<p>
+ The output from this program is a table in Boost.Quickbook format
+ as shown below.
+ </p>
+<p>
+ </p>
+<p>
+ We can interpret this as follows - for example if &#957;=10 and &#955;=10 then
+ the power of the test is 0.542 - so we have only a 54% chance of
+ correctly detecting that our null hypothesis is false, and a 46%
+ chance of incurring a type II error (failing to reject the null hypothesis
+ when it is in fact false):
+ </p>
+<p>
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ &#957;
+ </p>
+ </th>
+<th>
+ <p>
+ &#955;=2
+ </p>
+ </th>
+<th>
+ <p>
+ &#955;=4
+ </p>
+ </th>
+<th>
+ <p>
+ &#955;=6
+ </p>
+ </th>
+<th>
+ <p>
+ &#955;=8
+ </p>
+ </th>
+<th>
+ <p>
+ &#955;=10
+ </p>
+ </th>
+<th>
+ <p>
+ &#955;=12
+ </p>
+ </th>
+<th>
+ <p>
+ &#955;=14
+ </p>
+ </th>
+<th>
+ <p>
+ &#955;=16
+ </p>
+ </th>
+<th>
+ <p>
+ &#955;=18
+ </p>
+ </th>
+<th>
+ <p>
+ &#955;=20
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 2
+ </p>
+ </td>
+<td>
+ <p>
+ 0.226
+ </p>
+ </td>
+<td>
+ <p>
+ 0.415
+ </p>
+ </td>
+<td>
+ <p>
+ 0.584
+ </p>
+ </td>
+<td>
+ <p>
+ 0.718
+ </p>
+ </td>
+<td>
+ <p>
+ 0.815
+ </p>
+ </td>
+<td>
+ <p>
+ 0.883
+ </p>
+ </td>
+<td>
+ <p>
+ 0.928
+ </p>
+ </td>
+<td>
+ <p>
+ 0.957
+ </p>
+ </td>
+<td>
+ <p>
+ 0.974
+ </p>
+ </td>
+<td>
+ <p>
+ 0.985
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 3
+ </p>
+ </td>
+<td>
+ <p>
+ 0.192
+ </p>
+ </td>
+<td>
+ <p>
+ 0.359
+ </p>
+ </td>
+<td>
+ <p>
+ 0.518
+ </p>
+ </td>
+<td>
+ <p>
+ 0.654
+ </p>
+ </td>
+<td>
+ <p>
+ 0.761
+ </p>
+ </td>
+<td>
+ <p>
+ 0.84
+ </p>
+ </td>
+<td>
+ <p>
+ 0.896
+ </p>
+ </td>
+<td>
+ <p>
+ 0.934
+ </p>
+ </td>
+<td>
+ <p>
+ 0.959
+ </p>
+ </td>
+<td>
+ <p>
+ 0.975
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 4
+ </p>
+ </td>
+<td>
+ <p>
+ 0.171
+ </p>
+ </td>
+<td>
+ <p>
+ 0.32
+ </p>
+ </td>
+<td>
+ <p>
+ 0.47
+ </p>
+ </td>
+<td>
+ <p>
+ 0.605
+ </p>
+ </td>
+<td>
+ <p>
+ 0.716
+ </p>
+ </td>
+<td>
+ <p>
+ 0.802
+ </p>
+ </td>
+<td>
+ <p>
+ 0.866
+ </p>
+ </td>
+<td>
+ <p>
+ 0.912
+ </p>
+ </td>
+<td>
+ <p>
+ 0.943
+ </p>
+ </td>
+<td>
+ <p>
+ 0.964
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 5
+ </p>
+ </td>
+<td>
+ <p>
+ 0.157
+ </p>
+ </td>
+<td>
+ <p>
+ 0.292
+ </p>
+ </td>
+<td>
+ <p>
+ 0.433
+ </p>
+ </td>
+<td>
+ <p>
+ 0.564
+ </p>
+ </td>
+<td>
+ <p>
+ 0.677
+ </p>
+ </td>
+<td>
+ <p>
+ 0.769
+ </p>
+ </td>
+<td>
+ <p>
+ 0.839
+ </p>
+ </td>
+<td>
+ <p>
+ 0.89
+ </p>
+ </td>
+<td>
+ <p>
+ 0.927
+ </p>
+ </td>
+<td>
+ <p>
+ 0.952
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 6
+ </p>
+ </td>
+<td>
+ <p>
+ 0.146
+ </p>
+ </td>
+<td>
+ <p>
+ 0.27
+ </p>
+ </td>
+<td>
+ <p>
+ 0.403
+ </p>
+ </td>
+<td>
+ <p>
+ 0.531
+ </p>
+ </td>
+<td>
+ <p>
+ 0.644
+ </p>
+ </td>
+<td>
+ <p>
+ 0.738
+ </p>
+ </td>
+<td>
+ <p>
+ 0.813
+ </p>
+ </td>
+<td>
+ <p>
+ 0.869
+ </p>
+ </td>
+<td>
+ <p>
+ 0.911
+ </p>
+ </td>
+<td>
+ <p>
+ 0.94
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 7
+ </p>
+ </td>
+<td>
+ <p>
+ 0.138
+ </p>
+ </td>
+<td>
+ <p>
+ 0.252
+ </p>
+ </td>
+<td>
+ <p>
+ 0.378
+ </p>
+ </td>
+<td>
+ <p>
+ 0.502
+ </p>
+ </td>
+<td>
+ <p>
+ 0.614
+ </p>
+ </td>
+<td>
+ <p>
+ 0.71
+ </p>
+ </td>
+<td>
+ <p>
+ 0.788
+ </p>
+ </td>
+<td>
+ <p>
+ 0.849
+ </p>
+ </td>
+<td>
+ <p>
+ 0.895
+ </p>
+ </td>
+<td>
+ <p>
+ 0.928
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 8
+ </p>
+ </td>
+<td>
+ <p>
+ 0.131
+ </p>
+ </td>
+<td>
+ <p>
+ 0.238
+ </p>
+ </td>
+<td>
+ <p>
+ 0.357
+ </p>
+ </td>
+<td>
+ <p>
+ 0.477
+ </p>
+ </td>
+<td>
+ <p>
+ 0.588
+ </p>
+ </td>
+<td>
+ <p>
+ 0.685
+ </p>
+ </td>
+<td>
+ <p>
+ 0.765
+ </p>
+ </td>
+<td>
+ <p>
+ 0.829
+ </p>
+ </td>
+<td>
+ <p>
+ 0.879
+ </p>
+ </td>
+<td>
+ <p>
+ 0.915
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 9
+ </p>
+ </td>
+<td>
+ <p>
+ 0.125
+ </p>
+ </td>
+<td>
+ <p>
+ 0.225
+ </p>
+ </td>
+<td>
+ <p>
+ 0.339
+ </p>
+ </td>
+<td>
+ <p>
+ 0.454
+ </p>
+ </td>
+<td>
+ <p>
+ 0.564
+ </p>
+ </td>
+<td>
+ <p>
+ 0.661
+ </p>
+ </td>
+<td>
+ <p>
+ 0.744
+ </p>
+ </td>
+<td>
+ <p>
+ 0.811
+ </p>
+ </td>
+<td>
+ <p>
+ 0.863
+ </p>
+ </td>
+<td>
+ <p>
+ 0.903
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 10
+ </p>
+ </td>
+<td>
+ <p>
+ 0.121
+ </p>
+ </td>
+<td>
+ <p>
+ 0.215
+ </p>
+ </td>
+<td>
+ <p>
+ 0.323
+ </p>
+ </td>
+<td>
+ <p>
+ 0.435
+ </p>
+ </td>
+<td>
+ <p>
+ 0.542
+ </p>
+ </td>
+<td>
+ <p>
+ 0.64
+ </p>
+ </td>
+<td>
+ <p>
+ 0.723
+ </p>
+ </td>
+<td>
+ <p>
+ 0.793
+ </p>
+ </td>
+<td>
+ <p>
+ 0.848
+ </p>
+ </td>
+<td>
+ <p>
+ 0.891
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 11
+ </p>
+ </td>
+<td>
+ <p>
+ 0.117
+ </p>
+ </td>
+<td>
+ <p>
+ 0.206
+ </p>
+ </td>
+<td>
+ <p>
+ 0.309
+ </p>
+ </td>
+<td>
+ <p>
+ 0.417
+ </p>
+ </td>
+<td>
+ <p>
+ 0.523
+ </p>
+ </td>
+<td>
+ <p>
+ 0.62
+ </p>
+ </td>
+<td>
+ <p>
+ 0.704
+ </p>
+ </td>
+<td>
+ <p>
+ 0.775
+ </p>
+ </td>
+<td>
+ <p>
+ 0.833
+ </p>
+ </td>
+<td>
+ <p>
+ 0.878
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 12
+ </p>
+ </td>
+<td>
+ <p>
+ 0.113
+ </p>
+ </td>
+<td>
+ <p>
+ 0.198
+ </p>
+ </td>
+<td>
+ <p>
+ 0.297
+ </p>
+ </td>
+<td>
+ <p>
+ 0.402
+ </p>
+ </td>
+<td>
+ <p>
+ 0.505
+ </p>
+ </td>
+<td>
+ <p>
+ 0.601
+ </p>
+ </td>
+<td>
+ <p>
+ 0.686
+ </p>
+ </td>
+<td>
+ <p>
+ 0.759
+ </p>
+ </td>
+<td>
+ <p>
+ 0.818
+ </p>
+ </td>
+<td>
+ <p>
+ 0.866
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 13
+ </p>
+ </td>
+<td>
+ <p>
+ 0.11
+ </p>
+ </td>
+<td>
+ <p>
+ 0.191
+ </p>
+ </td>
+<td>
+ <p>
+ 0.286
+ </p>
+ </td>
+<td>
+ <p>
+ 0.387
+ </p>
+ </td>
+<td>
+ <p>
+ 0.488
+ </p>
+ </td>
+<td>
+ <p>
+ 0.584
+ </p>
+ </td>
+<td>
+ <p>
+ 0.669
+ </p>
+ </td>
+<td>
+ <p>
+ 0.743
+ </p>
+ </td>
+<td>
+ <p>
+ 0.804
+ </p>
+ </td>
+<td>
+ <p>
+ 0.854
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 14
+ </p>
+ </td>
+<td>
+ <p>
+ 0.108
+ </p>
+ </td>
+<td>
+ <p>
+ 0.185
+ </p>
+ </td>
+<td>
+ <p>
+ 0.276
+ </p>
+ </td>
+<td>
+ <p>
+ 0.374
+ </p>
+ </td>
+<td>
+ <p>
+ 0.473
+ </p>
+ </td>
+<td>
+ <p>
+ 0.567
+ </p>
+ </td>
+<td>
+ <p>
+ 0.653
+ </p>
+ </td>
+<td>
+ <p>
+ 0.728
+ </p>
+ </td>
+<td>
+ <p>
+ 0.791
+ </p>
+ </td>
+<td>
+ <p>
+ 0.842
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 15
+ </p>
+ </td>
+<td>
+ <p>
+ 0.105
+ </p>
+ </td>
+<td>
+ <p>
+ 0.179
+ </p>
+ </td>
+<td>
+ <p>
+ 0.267
+ </p>
+ </td>
+<td>
+ <p>
+ 0.362
+ </p>
+ </td>
+<td>
+ <p>
+ 0.459
+ </p>
+ </td>
+<td>
+ <p>
+ 0.552
+ </p>
+ </td>
+<td>
+ <p>
+ 0.638
+ </p>
+ </td>
+<td>
+ <p>
+ 0.713
+ </p>
+ </td>
+<td>
+ <p>
+ 0.777
+ </p>
+ </td>
+<td>
+ <p>
+ 0.83
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 16
+ </p>
+ </td>
+<td>
+ <p>
+ 0.103
+ </p>
+ </td>
+<td>
+ <p>
+ 0.174
+ </p>
+ </td>
+<td>
+ <p>
+ 0.259
+ </p>
+ </td>
+<td>
+ <p>
+ 0.351
+ </p>
+ </td>
+<td>
+ <p>
+ 0.446
+ </p>
+ </td>
+<td>
+ <p>
+ 0.538
+ </p>
+ </td>
+<td>
+ <p>
+ 0.623
+ </p>
+ </td>
+<td>
+ <p>
+ 0.699
+ </p>
+ </td>
+<td>
+ <p>
+ 0.764
+ </p>
+ </td>
+<td>
+ <p>
+ 0.819
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 17
+ </p>
+ </td>
+<td>
+ <p>
+ 0.101
+ </p>
+ </td>
+<td>
+ <p>
+ 0.169
+ </p>
+ </td>
+<td>
+ <p>
+ 0.251
+ </p>
+ </td>
+<td>
+ <p>
+ 0.341
+ </p>
+ </td>
+<td>
+ <p>
+ 0.434
+ </p>
+ </td>
+<td>
+ <p>
+ 0.525
+ </p>
+ </td>
+<td>
+ <p>
+ 0.609
+ </p>
+ </td>
+<td>
+ <p>
+ 0.686
+ </p>
+ </td>
+<td>
+ <p>
+ 0.752
+ </p>
+ </td>
+<td>
+ <p>
+ 0.807
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 18
+ </p>
+ </td>
+<td>
+ <p>
+ 0.0992
+ </p>
+ </td>
+<td>
+ <p>
+ 0.165
+ </p>
+ </td>
+<td>
+ <p>
+ 0.244
+ </p>
+ </td>
+<td>
+ <p>
+ 0.332
+ </p>
+ </td>
+<td>
+ <p>
+ 0.423
+ </p>
+ </td>
+<td>
+ <p>
+ 0.512
+ </p>
+ </td>
+<td>
+ <p>
+ 0.596
+ </p>
+ </td>
+<td>
+ <p>
+ 0.673
+ </p>
+ </td>
+<td>
+ <p>
+ 0.74
+ </p>
+ </td>
+<td>
+ <p>
+ 0.796
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 19
+ </p>
+ </td>
+<td>
+ <p>
+ 0.0976
+ </p>
+ </td>
+<td>
+ <p>
+ 0.161
+ </p>
+ </td>
+<td>
+ <p>
+ 0.238
+ </p>
+ </td>
+<td>
+ <p>
+ 0.323
+ </p>
+ </td>
+<td>
+ <p>
+ 0.412
+ </p>
+ </td>
+<td>
+ <p>
+ 0.5
+ </p>
+ </td>
+<td>
+ <p>
+ 0.584
+ </p>
+ </td>
+<td>
+ <p>
+ 0.66
+ </p>
+ </td>
+<td>
+ <p>
+ 0.728
+ </p>
+ </td>
+<td>
+ <p>
+ 0.786
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 20
+ </p>
+ </td>
+<td>
+ <p>
+ 0.0961
+ </p>
+ </td>
+<td>
+ <p>
+ 0.158
+ </p>
+ </td>
+<td>
+ <p>
+ 0.232
+ </p>
+ </td>
+<td>
+ <p>
+ 0.315
+ </p>
+ </td>
+<td>
+ <p>
+ 0.402
+ </p>
+ </td>
+<td>
+ <p>
+ 0.489
+ </p>
+ </td>
+<td>
+ <p>
+ 0.572
+ </p>
+ </td>
+<td>
+ <p>
+ 0.648
+ </p>
+ </td>
+<td>
+ <p>
+ 0.716
+ </p>
+ </td>
+<td>
+ <p>
+ 0.775
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ </p>
+<p>
+ See nc_chi_sq_example.cpp
+ for the full C++ source code.
+ </p>
+<p>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2006 , 2007, 2008 John Maddock, Paul A. Bristow, Hubert
+ Holin, Xiaogang Zhang and Bruno Lalande<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../nccs_eg.html"><img src="../../../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../nccs_eg.html"><img src="../../../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../../index.html"><img src="../../../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../error_eg.html"><img src="../../../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/history1.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/history1.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/history1.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -231,7 +231,7 @@
 <p>
         </p>
 <p>
- Sandbox and trunk last synchonised at revision: 44092.
+ Sandbox and trunk last synchonised at revision: 44694.
         </p>
 <p>
       </p>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/perf/comp_compilers.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/perf/comp_compilers.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/perf/comp_compilers.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -35,7 +35,7 @@
         in this respect).
       </p>
 <div class="table">
-<a name="id800269"></a><p class="title"><b>Table 47. Performance Comparison of Various Windows Compilers</b></p>
+<a name="id800657"></a><p class="title"><b>Table 47. Performance Comparison of Various Windows Compilers</b></p>
 <div class="table-contents"><table class="table" summary="Performance Comparison of Various Windows Compilers">
 <colgroup>
 <col>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/perf/comparisons.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/perf/comparisons.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/perf/comparisons.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -46,7 +46,7 @@
         </p></td></tr>
 </table></div>
 <a name="math_toolkit.perf.comparisons.comparison_to_gsl_1_9_and_cephes"></a><h5>
-<a name="id802743"></a>
+<a name="id803124"></a>
         <a href="comparisons.html#math_toolkit.perf.comparisons.comparison_to_gsl_1_9_and_cephes">Comparison
         to GSL-1.9 and Cephes</a>
       </h5>
@@ -213,7 +213,7 @@
 <td>
               <p>
                 +INF
- <sup>[<a name="id803110" href="#ftn.id803110">1</a>]</sup>
+ <sup>[<a name="id803491" href="#ftn.id803491">1</a>]</sup>
               </p>
               </td>
 </tr>
@@ -284,13 +284,13 @@
               </td>
 </tr>
 </tbody>
-<tbody class="footnotes"><tr><td colspan="4"><div class="footnote"><p><sup>[<a name="ftn.id803110" href="#id803110">1</a>] </sup>
+<tbody class="footnotes"><tr><td colspan="4"><div class="footnote"><p><sup>[<a name="ftn.id803491" href="#id803491">1</a>] </sup>
                     Cephes gets stuck in an infinite loop while trying to execute
                     our test cases.
                   </p></div></td></tr></tbody>
 </table></div>
 <a name="math_toolkit.perf.comparisons.comparison_to_the_r_statistical_library_on_windows"></a><h5>
-<a name="id803279"></a>
+<a name="id803660"></a>
         <a href="comparisons.html#math_toolkit.perf.comparisons.comparison_to_the_r_statistical_library_on_windows">Comparison
         to the R Statistical Library on Windows</a>
       </h5>
@@ -301,7 +301,7 @@
         appears not to be buildable with Visual C++).
       </p>
 <div class="table">
-<a name="id803306"></a><p class="title"><b>Table 50. A Comparison to the R Statistical Library on Windows
+<a name="id803688"></a><p class="title"><b>Table 50. A Comparison to the R Statistical Library on Windows
       XP</b></p>
 <div class="table-contents"><table class="table" summary="A Comparison to the R Statistical Library on Windows
       XP">
@@ -374,7 +374,7 @@
             <p>
               </p>
 <p>74.66
- <sup>[<a name="id803447" href="#ftn.id803447">1</a>]</sup>
+ <sup>[<a name="id803828" href="#ftn.id803828">1</a>]</sup>
               </p>
 <p> </p>
 <p>(4.905e-004s)</p>
@@ -792,7 +792,7 @@
             <p>
               </p>
 <p>53.59
- <sup>[<a name="id804296" href="#ftn.id804296">2</a>]</sup>
+ <sup>[<a name="id804677" href="#ftn.id804677">2</a>]</sup>
               </p>
 <p> </p>
 <p>(5.145e-004s)</p>
@@ -1010,12 +1010,12 @@
 </tr>
 </tbody>
 <tbody class="footnotes"><tr><td colspan="3">
-<div class="footnote"><p><sup>[<a name="ftn.id803447" href="#id803447">1</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id803828" href="#id803828">1</a>] </sup>
                   There are a small number of our test cases where the R library
                   fails to converge on a result: these tend to dominate the performance
                   result.
                 </p></div>
-<div class="footnote"><p><sup>[<a name="ftn.id804296" href="#id804296">2</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id804677" href="#id804677">2</a>] </sup>
                   The R library appears to use a linear-search strategy, that can
                   perform very badly in a small number of pathological cases, but
                   may or may not be more efficient in "typical" cases
@@ -1024,7 +1024,7 @@
 </table></div>
 </div>
 <br class="table-break"><a name="math_toolkit.perf.comparisons.comparison_to_the_r_statistical_library_on_linux"></a><h5>
-<a name="id804746"></a>
+<a name="id805127"></a>
         <a href="comparisons.html#math_toolkit.perf.comparisons.comparison_to_the_r_statistical_library_on_linux">Comparison
         to the R Statistical Library on Linux</a>
       </h5>
@@ -1033,7 +1033,7 @@
         Linux machine, with the test program and R-2.5.0 compiled with GNU G++ 4.2.0.
       </p>
 <div class="table">
-<a name="id804771"></a><p class="title"><b>Table 51. A Comparison to the R Statistical Library on Linux</b></p>
+<a name="id805152"></a><p class="title"><b>Table 51. A Comparison to the R Statistical Library on Linux</b></p>
 <div class="table-contents"><table class="table" summary="A Comparison to the R Statistical Library on Linux">
 <colgroup>
 <col>
@@ -1104,7 +1104,7 @@
             <p>
               </p>
 <p>44.06
- <sup>[<a name="id804910" href="#ftn.id804910">1</a>]</sup>
+ <sup>[<a name="id805292" href="#ftn.id805292">1</a>]</sup>
               </p>
 <p> </p>
 <p>(5.701e-004s)</p>
@@ -1522,7 +1522,7 @@
             <p>
               </p>
 <p>30.07
- <sup>[<a name="id805755" href="#ftn.id805755">2</a>]</sup>
+ <sup>[<a name="id806136" href="#ftn.id806136">2</a>]</sup>
               </p>
 <p> </p>
 <p>(5.490e-004s)</p>
@@ -1740,12 +1740,12 @@
 </tr>
 </tbody>
 <tbody class="footnotes"><tr><td colspan="3">
-<div class="footnote"><p><sup>[<a name="ftn.id804910" href="#id804910">1</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id805292" href="#id805292">1</a>] </sup>
                   There are a small number of our test cases where the R library
                   fails to converge on a result: these tend to dominate the performance
                   result.
                 </p></div>
-<div class="footnote"><p><sup>[<a name="ftn.id805755" href="#id805755">2</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id806136" href="#id806136">2</a>] </sup>
                   The R library appears to use a linear-search strategy, that can
                   perform very badly in a small number of pathological cases, but
                   may or may not be more efficient in "typical" cases

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/perf/getting_best.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/perf/getting_best.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/perf/getting_best.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -33,7 +33,7 @@
         penalty for using the library in debug mode can be quite large.
       </p>
 <div class="table">
-<a name="id799698"></a><p class="title"><b>Table 46. Performance Comparison of Release and Debug Settings</b></p>
+<a name="id800086"></a><p class="title"><b>Table 46. Performance Comparison of Release and Debug Settings</b></p>
 <div class="table-contents"><table class="table" summary="Performance Comparison of Release and Debug Settings">
 <colgroup>
 <col>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/perf/tuning.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/perf/tuning.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/perf/tuning.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -234,7 +234,7 @@
         highly vectorisable processors in the future.
       </p>
 <div class="table">
-<a name="id801392"></a><p class="title"><b>Table 48. A Comparison of Polynomial Evaluation Methods</b></p>
+<a name="id801773"></a><p class="title"><b>Table 48. A Comparison of Polynomial Evaluation Methods</b></p>
 <div class="table-contents"><table class="table" summary="A Comparison of Polynomial Evaluation Methods">
 <colgroup>
 <col>
@@ -634,7 +634,7 @@
         tutorial</a>.
       </p>
 <div class="table">
-<a name="id802147"></a><p class="title"><b>Table 49. Performance Comparison with and Without Internal
+<a name="id802528"></a><p class="title"><b>Table 49. Performance Comparison with and Without Internal
       Promotion to long double</b></p>
 <div class="table-contents"><table class="table" summary="Performance Comparison with and Without Internal
       Promotion to long double">

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/discrete_quant_ref.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/discrete_quant_ref.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/discrete_quant_ref.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -55,7 +55,7 @@
           can take have the following meanings:
         </p>
 <a name="math_toolkit.policy.pol_ref.discrete_quant_ref.real"></a><h6>
-<a name="id789797"></a>
+<a name="id790180"></a>
           <a href="discrete_quant_ref.html#math_toolkit.policy.pol_ref.discrete_quant_ref.real">real</a>
         </h6>
 <p>
@@ -93,7 +93,7 @@
           <span class="special">=</span> <span class="number">68.1584</span></code>.
         </p>
 <a name="math_toolkit.policy.pol_ref.discrete_quant_ref.integer_round_outwards"></a><h6>
-<a name="id790284"></a>
+<a name="id790666"></a>
           <a href="discrete_quant_ref.html#math_toolkit.policy.pol_ref.discrete_quant_ref.integer_round_outwards">integer_round_outwards</a>
         </h6>
 <p>
@@ -151,7 +151,7 @@
           in each tail</em></span>.
         </p>
 <a name="math_toolkit.policy.pol_ref.discrete_quant_ref.integer_round_inwards"></a><h6>
-<a name="id790803"></a>
+<a name="id791185"></a>
           <a href="discrete_quant_ref.html#math_toolkit.policy.pol_ref.discrete_quant_ref.integer_round_inwards">integer_round_inwards</a>
         </h6>
 <p>
@@ -214,7 +214,7 @@
           in each tail</em></span>.
         </p>
 <a name="math_toolkit.policy.pol_ref.discrete_quant_ref.integer_round_down"></a><h6>
-<a name="id791456"></a>
+<a name="id791839"></a>
           <a href="discrete_quant_ref.html#math_toolkit.policy.pol_ref.discrete_quant_ref.integer_round_down">integer_round_down</a>
         </h6>
 <p>
@@ -222,7 +222,7 @@
           or a lower quantile.
         </p>
 <a name="math_toolkit.policy.pol_ref.discrete_quant_ref.integer_round_up"></a><h6>
-<a name="id791488"></a>
+<a name="id791870"></a>
           <a href="discrete_quant_ref.html#math_toolkit.policy.pol_ref.discrete_quant_ref.integer_round_up">integer_round_up</a>
         </h6>
 <p>
@@ -230,7 +230,7 @@
           a lower quantile.
         </p>
 <a name="math_toolkit.policy.pol_ref.discrete_quant_ref.integer_round_nearest"></a><h6>
-<a name="id791519"></a>
+<a name="id791902"></a>
           <a href="discrete_quant_ref.html#math_toolkit.policy.pol_ref.discrete_quant_ref.integer_round_nearest">integer_round_nearest</a>
         </h6>
 <p>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/error_handling_policies.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/error_handling_policies.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/error_handling_policies.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -39,7 +39,7 @@
           </li>
 </ul></div>
 <a name="math_toolkit.policy.pol_ref.error_handling_policies.available_actions_when_an_error_is_raised"></a><h5>
-<a name="id784074"></a>
+<a name="id784456"></a>
           <a href="error_handling_policies.html#math_toolkit.policy.pol_ref.error_handling_policies.available_actions_when_an_error_is_raised">Available
           Actions When an Error is Raised</a>
         </h5>
@@ -62,7 +62,7 @@
           The various enumerated values have the following meanings:
         </p>
 <a name="math_toolkit.policy.pol_ref.error_handling_policies.throw_on_error"></a><h6>
-<a name="id784327"></a>
+<a name="id784708"></a>
           <a href="error_handling_policies.html#math_toolkit.policy.pol_ref.error_handling_policies.throw_on_error">throw_on_error</a>
         </h6>
 <p>
@@ -162,7 +162,7 @@
 </tbody>
 </table></div>
 <a name="math_toolkit.policy.pol_ref.error_handling_policies.errno_on_error"></a><h6>
-<a name="id784509"></a>
+<a name="id784891"></a>
           <a href="error_handling_policies.html#math_toolkit.policy.pol_ref.error_handling_policies.errno_on_error">errno_on_error</a>
         </h6>
 <p>
@@ -263,7 +263,7 @@
 </tbody>
 </table></div>
 <a name="math_toolkit.policy.pol_ref.error_handling_policies.ignore_error"></a><h6>
-<a name="id784708"></a>
+<a name="id785090"></a>
           <a href="error_handling_policies.html#math_toolkit.policy.pol_ref.error_handling_policies.ignore_error">ignore_error</a>
         </h6>
 <p>
@@ -364,7 +364,7 @@
 </tbody>
 </table></div>
 <a name="math_toolkit.policy.pol_ref.error_handling_policies.user_error"></a><h6>
-<a name="id784909"></a>
+<a name="id785291"></a>
           <a href="error_handling_policies.html#math_toolkit.policy.pol_ref.error_handling_policies.user_error">user_error</a>
         </h6>
 <p>
@@ -410,7 +410,7 @@
           here</a>.
         </p>
 <a name="math_toolkit.policy.pol_ref.error_handling_policies.kinds_of_error_raised"></a><h5>
-<a name="id785978"></a>
+<a name="id786360"></a>
           <a href="error_handling_policies.html#math_toolkit.policy.pol_ref.error_handling_policies.kinds_of_error_raised">Kinds
           of Error Raised</a>
         </h5>
@@ -624,7 +624,7 @@
 </tbody>
 </table></div>
 <a name="math_toolkit.policy.pol_ref.error_handling_policies.examples"></a><h5>
-<a name="id786983"></a>
+<a name="id787365"></a>
           <a href="error_handling_policies.html#math_toolkit.policy.pol_ref.error_handling_policies.examples">Examples</a>
         </h5>
 <p>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/internal_promotion.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/internal_promotion.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/internal_promotion.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -84,7 +84,7 @@
 </tbody>
 </table></div>
 <a name="math_toolkit.policy.pol_ref.internal_promotion.examples"></a><h5>
-<a name="id788298"></a>
+<a name="id788680"></a>
           <a href="internal_promotion.html#math_toolkit.policy.pol_ref.internal_promotion.examples">Examples</a>
         </h5>
 <p>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/policy_defaults.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/policy_defaults.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_ref/policy_defaults.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -61,7 +61,7 @@
           then you can do so by defining various macros in boost/math/tools/user.hpp.
         </p>
 <a name="math_toolkit.policy.pol_ref.policy_defaults.boost_math_domain_error_policy"></a><h6>
-<a name="id793322"></a>
+<a name="id793704"></a>
           <a href="policy_defaults.html#math_toolkit.policy.pol_ref.policy_defaults.boost_math_domain_error_policy">BOOST_MATH_DOMAIN_ERROR_POLICY</a>
         </h6>
 <p>
@@ -71,7 +71,7 @@
           <code class="computeroutput"><span class="identifier">ignore_error</span></code> or <code class="computeroutput"><span class="identifier">user_error</span></code>.
         </p>
 <a name="math_toolkit.policy.pol_ref.policy_defaults.boost_math_pole_error_policy"></a><h6>
-<a name="id793415"></a>
+<a name="id793797"></a>
           <a href="policy_defaults.html#math_toolkit.policy.pol_ref.policy_defaults.boost_math_pole_error_policy">BOOST_MATH_POLE_ERROR_POLICY</a>
         </h6>
 <p>
@@ -81,7 +81,7 @@
           <code class="computeroutput"><span class="identifier">ignore_error</span></code> or <code class="computeroutput"><span class="identifier">user_error</span></code>.
         </p>
 <a name="math_toolkit.policy.pol_ref.policy_defaults.boost_math_overflow_error_policy"></a><h6>
-<a name="id793507"></a>
+<a name="id793889"></a>
           <a href="policy_defaults.html#math_toolkit.policy.pol_ref.policy_defaults.boost_math_overflow_error_policy">BOOST_MATH_OVERFLOW_ERROR_POLICY</a>
         </h6>
 <p>
@@ -91,7 +91,7 @@
           <code class="computeroutput"><span class="identifier">ignore_error</span></code> or <code class="computeroutput"><span class="identifier">user_error</span></code>.
         </p>
 <a name="math_toolkit.policy.pol_ref.policy_defaults.boost_math_rounding_error_policy"></a><h6>
-<a name="id793600"></a>
+<a name="id793982"></a>
           <a href="policy_defaults.html#math_toolkit.policy.pol_ref.policy_defaults.boost_math_rounding_error_policy">BOOST_MATH_ROUNDING_ERROR_POLICY</a>
         </h6>
 <p>
@@ -101,7 +101,7 @@
           <code class="computeroutput"><span class="identifier">ignore_error</span></code> or <code class="computeroutput"><span class="identifier">user_error</span></code>.
         </p>
 <a name="math_toolkit.policy.pol_ref.policy_defaults.boost_math_evaluation_error_policy"></a><h6>
-<a name="id793693"></a>
+<a name="id794075"></a>
           <a href="policy_defaults.html#math_toolkit.policy.pol_ref.policy_defaults.boost_math_evaluation_error_policy">BOOST_MATH_EVALUATION_ERROR_POLICY</a>
         </h6>
 <p>
@@ -111,7 +111,7 @@
           <code class="computeroutput"><span class="identifier">ignore_error</span></code> or <code class="computeroutput"><span class="identifier">user_error</span></code>.
         </p>
 <a name="math_toolkit.policy.pol_ref.policy_defaults.boost_math_underflow_error_policy"></a><h6>
-<a name="id793786"></a>
+<a name="id794168"></a>
           <a href="policy_defaults.html#math_toolkit.policy.pol_ref.policy_defaults.boost_math_underflow_error_policy">BOOST_MATH_UNDERFLOW_ERROR_POLICY</a>
         </h6>
 <p>
@@ -121,7 +121,7 @@
           <code class="computeroutput"><span class="identifier">ignore_error</span></code> or <code class="computeroutput"><span class="identifier">user_error</span></code>.
         </p>
 <a name="math_toolkit.policy.pol_ref.policy_defaults.boost_math_denorm_error_policy"></a><h6>
-<a name="id793879"></a>
+<a name="id794261"></a>
           <a href="policy_defaults.html#math_toolkit.policy.pol_ref.policy_defaults.boost_math_denorm_error_policy">BOOST_MATH_DENORM_ERROR_POLICY</a>
         </h6>
 <p>
@@ -131,7 +131,7 @@
           <code class="computeroutput"><span class="identifier">ignore_error</span></code> or <code class="computeroutput"><span class="identifier">user_error</span></code>.
         </p>
 <a name="math_toolkit.policy.pol_ref.policy_defaults.boost_math_digits10_policy"></a><h6>
-<a name="id793971"></a>
+<a name="id794353"></a>
           <a href="policy_defaults.html#math_toolkit.policy.pol_ref.policy_defaults.boost_math_digits10_policy">BOOST_MATH_DIGITS10_POLICY</a>
         </h6>
 <p>
@@ -142,7 +142,7 @@
           recommended that you change this from the default.
         </p>
 <a name="math_toolkit.policy.pol_ref.policy_defaults.boost_math_promote_float_policy"></a><h6>
-<a name="id794020"></a>
+<a name="id794402"></a>
           <a href="policy_defaults.html#math_toolkit.policy.pol_ref.policy_defaults.boost_math_promote_float_policy">BOOST_MATH_PROMOTE_FLOAT_POLICY</a>
         </h6>
 <p>
@@ -154,7 +154,7 @@
           off.
         </p>
 <a name="math_toolkit.policy.pol_ref.policy_defaults.boost_math_promote_double_policy"></a><h6>
-<a name="id794112"></a>
+<a name="id794494"></a>
           <a href="policy_defaults.html#math_toolkit.policy.pol_ref.policy_defaults.boost_math_promote_double_policy">BOOST_MATH_PROMOTE_DOUBLE_POLICY</a>
         </h6>
 <p>
@@ -166,7 +166,7 @@
           off.
         </p>
 <a name="math_toolkit.policy.pol_ref.policy_defaults.boost_math_discrete_quantile_policy"></a><h6>
-<a name="id794211"></a>
+<a name="id794592"></a>
           <a href="policy_defaults.html#math_toolkit.policy.pol_ref.policy_defaults.boost_math_discrete_quantile_policy">BOOST_MATH_DISCRETE_QUANTILE_POLICY</a>
         </h6>
 <p>
@@ -177,7 +177,7 @@
           Defaults to <code class="computeroutput"><span class="identifier">integer_round_outwards</span></code>.
         </p>
 <a name="math_toolkit.policy.pol_ref.policy_defaults.boost_math_assert_undefined_policy"></a><h6>
-<a name="id794328"></a>
+<a name="id794709"></a>
           <a href="policy_defaults.html#math_toolkit.policy.pol_ref.policy_defaults.boost_math_assert_undefined_policy">BOOST_MATH_ASSERT_UNDEFINED_POLICY</a>
         </h6>
 <p>
@@ -190,7 +190,7 @@
           whether or not a particular property is well defined.
         </p>
 <a name="math_toolkit.policy.pol_ref.policy_defaults.boost_math_max_series_iteration_policy"></a><h6>
-<a name="id794393"></a>
+<a name="id794773"></a>
           <a href="policy_defaults.html#math_toolkit.policy.pol_ref.policy_defaults.boost_math_max_series_iteration_policy">BOOST_MATH_MAX_SERIES_ITERATION_POLICY</a>
         </h6>
 <p>
@@ -199,7 +199,7 @@
           Defaults to 1000000.
         </p>
 <a name="math_toolkit.policy.pol_ref.policy_defaults.boost_math_max_root_iteration_policy"></a><h6>
-<a name="id794435"></a>
+<a name="id794815"></a>
           <a href="policy_defaults.html#math_toolkit.policy.pol_ref.policy_defaults.boost_math_max_root_iteration_policy">BOOST_MATH_MAX_ROOT_ITERATION_POLICY</a>
         </h6>
 <p>
@@ -208,7 +208,7 @@
           Defaults to 200.
         </p>
 <a name="math_toolkit.policy.pol_ref.policy_defaults.example"></a><h6>
-<a name="id794476"></a>
+<a name="id794857"></a>
           <a href="policy_defaults.html#math_toolkit.policy.pol_ref.policy_defaults.example">Example</a>
         </h6>
 <p>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/understand_dis_quant.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/understand_dis_quant.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/understand_dis_quant.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -177,7 +177,7 @@
           <span class="emphasis"><em>base your comparisons on CDF's instead</em></span>.
         </p>
 <a name="math_toolkit.policy.pol_tutorial.understand_dis_quant.other_rounding_policies_are_available"></a><h6>
-<a name="id780576"></a>
+<a name="id780971"></a>
           <a href="understand_dis_quant.html#math_toolkit.policy.pol_tutorial.understand_dis_quant.other_rounding_policies_are_available">Other
           Rounding Policies are Available</a>
         </h6>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -149,7 +149,7 @@
 <dt><span class="section"><a href="special/rounding/modf.html"> Integer and Fractional
         Part Splitting (modf)</a></span></dt>
 </dl></dd>
-<dt><span class="section"><a href="special/fpclass.html"> Floating Point Classification:
+<dt><span class="section"><a href="special/fpclass.html"> Floating-Point Classification:
       Infinities and NaN's</a></span></dt>
 </dl></div>
 <p>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/bessel.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/bessel.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/bessel.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -28,7 +28,7 @@
         of the First and Second Kinds</a>
 </h4></div></div></div>
 <a name="math_toolkit.special.bessel.bessel.synopsis"></a><h5>
-<a name="id682628"></a>
+<a name="id682793"></a>
           <a href="bessel.html#math_toolkit.special.bessel.bessel.synopsis">Synopsis</a>
         </h5>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
@@ -44,7 +44,7 @@
 <a href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">cyl_neumann</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
 </pre>
 <a name="math_toolkit.special.bessel.bessel.description"></a><h5>
-<a name="id683136"></a>
+<a name="id683301"></a>
           <a href="bessel.html#math_toolkit.special.bessel.bessel.description">Description</a>
         </h5>
 <p>
@@ -110,7 +110,7 @@
           <span class="inlinemediaobject"><img src="../../../../graphs/cyl_neumann.png" align="middle"></span>
         </p>
 <a name="math_toolkit.special.bessel.bessel.testing"></a><h5>
-<a name="id683537"></a>
+<a name="id683702"></a>
           <a href="bessel.html#math_toolkit.special.bessel.bessel.testing">Testing</a>
         </h5>
 <p>
@@ -119,7 +119,7 @@
           (with all the special case handling removed).
         </p>
 <a name="math_toolkit.special.bessel.bessel.accuracy"></a><h5>
-<a name="id683576"></a>
+<a name="id683741"></a>
           <a href="bessel.html#math_toolkit.special.bessel.bessel.accuracy">Accuracy</a>
         </h5>
 <p>
@@ -135,7 +135,7 @@
           zero error</a>. All values are relative errors in units of epsilon.
         </p>
 <div class="table">
-<a name="id683632"></a><p class="title"><b>Table 35. Errors Rates in cyl_bessel_j</b></p>
+<a name="id683798"></a><p class="title"><b>Table 35. Errors Rates in cyl_bessel_j</b></p>
 <div class="table-contents"><table class="table" summary="Errors Rates in cyl_bessel_j">
 <colgroup>
 <col>
@@ -304,7 +304,7 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id683937"></a><p class="title"><b>Table 36. Errors Rates in cyl_neumann</b></p>
+<a name="id684102"></a><p class="title"><b>Table 36. Errors Rates in cyl_neumann</b></p>
 <div class="table-contents"><table class="table" summary="Errors Rates in cyl_neumann">
 <colgroup>
 <col>
@@ -494,7 +494,7 @@
           were found.
         </p>
 <a name="math_toolkit.special.bessel.bessel.implementation"></a><h5>
-<a name="id688639"></a>
+<a name="id688792"></a>
           <a href="bessel.html#math_toolkit.special.bessel.bessel.implementation">Implementation</a>
         </h5>
 <p>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/bessel_over.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/bessel_over.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/bessel_over.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -28,7 +28,7 @@
         Overview</a>
 </h4></div></div></div>
 <a name="math_toolkit.special.bessel.bessel_over.ordinary_bessel_functions"></a><h5>
-<a name="id681639"></a>
+<a name="id681804"></a>
           <a href="bessel_over.html#math_toolkit.special.bessel.bessel_over.ordinary_bessel_functions">Ordinary
           Bessel Functions</a>
         </h5>
@@ -103,7 +103,7 @@
           <span class="inlinemediaobject"><img src="../../../../equations/bessel10.png"></span>
         </p>
 <a name="math_toolkit.special.bessel.bessel_over.modified_bessel_functions"></a><h5>
-<a name="id682056"></a>
+<a name="id682221"></a>
           <a href="bessel_over.html#math_toolkit.special.bessel.bessel_over.modified_bessel_functions">Modified
           Bessel Functions</a>
         </h5>
@@ -167,7 +167,7 @@
           <span class="inlinemediaobject"><img src="../../../../equations/mbessel10.png"></span>
         </p>
 <a name="math_toolkit.special.bessel.bessel_over.spherical_bessel_functions"></a><h5>
-<a name="id682452"></a>
+<a name="id682617"></a>
           <a href="bessel_over.html#math_toolkit.special.bessel.bessel_over.spherical_bessel_functions">Spherical
           Bessel Functions</a>
         </h5>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/mbessel.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/mbessel.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/mbessel.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -28,7 +28,7 @@
         Functions of the First and Second Kinds</a>
 </h4></div></div></div>
 <a name="math_toolkit.special.bessel.mbessel.synopsis"></a><h5>
-<a name="id689427"></a>
+<a name="id689580"></a>
           <a href="mbessel.html#math_toolkit.special.bessel.mbessel.synopsis">Synopsis</a>
         </h5>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
@@ -44,7 +44,7 @@
 <a href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">cyl_bessel_k</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
 </pre>
 <a name="math_toolkit.special.bessel.mbessel.description"></a><h5>
-<a name="id689937"></a>
+<a name="id690090"></a>
           <a href="mbessel.html#math_toolkit.special.bessel.mbessel.description">Description</a>
         </h5>
 <p>
@@ -109,7 +109,7 @@
           <span class="inlinemediaobject"><img src="../../../../graphs/cyl_bessel_k.png" align="middle"></span>
         </p>
 <a name="math_toolkit.special.bessel.mbessel.testing"></a><h5>
-<a name="id690326"></a>
+<a name="id690479"></a>
           <a href="mbessel.html#math_toolkit.special.bessel.mbessel.testing">Testing</a>
         </h5>
 <p>
@@ -118,7 +118,7 @@
           (with all the special case handling removed).
         </p>
 <a name="math_toolkit.special.bessel.mbessel.accuracy"></a><h5>
-<a name="id690365"></a>
+<a name="id690518"></a>
           <a href="mbessel.html#math_toolkit.special.bessel.mbessel.accuracy">Accuracy</a>
         </h5>
 <p>
@@ -129,7 +129,7 @@
           zero error</a>. All values are relative errors in units of epsilon.
         </p>
 <div class="table">
-<a name="id690405"></a><p class="title"><b>Table 37. Errors Rates in cyl_bessel_i</b></p>
+<a name="id690558"></a><p class="title"><b>Table 37. Errors Rates in cyl_bessel_i</b></p>
 <div class="table-contents"><table class="table" summary="Errors Rates in cyl_bessel_i">
 <colgroup>
 <col>
@@ -226,7 +226,7 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id690560"></a><p class="title"><b>Table 38. Errors Rates in cyl_bessel_k</b></p>
+<a name="id690713"></a><p class="title"><b>Table 38. Errors Rates in cyl_bessel_k</b></p>
 <div class="table-contents"><table class="table" summary="Errors Rates in cyl_bessel_k">
 <colgroup>
 <col>
@@ -326,7 +326,7 @@
 </table></div>
 </div>
 <br class="table-break"><a name="math_toolkit.special.bessel.mbessel.implementation"></a><h5>
-<a name="id690728"></a>
+<a name="id690881"></a>
           <a href="mbessel.html#math_toolkit.special.bessel.mbessel.implementation">Implementation</a>
         </h5>
 <p>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/sph_bessel.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/sph_bessel.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/bessel/sph_bessel.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -28,7 +28,7 @@
         Bessel Functions of the First and Second Kinds</a>
 </h4></div></div></div>
 <a name="math_toolkit.special.bessel.sph_bessel.synopsis"></a><h5>
-<a name="id691406"></a>
+<a name="id691559"></a>
           <a href="sph_bessel.html#math_toolkit.special.bessel.sph_bessel.synopsis">Synopsis</a>
         </h5>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
@@ -44,7 +44,7 @@
 <a href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">sph_neumann</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
 </pre>
 <a name="math_toolkit.special.bessel.sph_bessel.description"></a><h5>
-<a name="id691915"></a>
+<a name="id692068"></a>
           <a href="sph_bessel.html#math_toolkit.special.bessel.sph_bessel.description">Description</a>
         </h5>
 <p>
@@ -97,7 +97,7 @@
           <span class="inlinemediaobject"><img src="../../../../graphs/sph_neumann.png" align="middle"></span>
         </p>
 <a name="math_toolkit.special.bessel.sph_bessel.testing"></a><h5>
-<a name="id692195"></a>
+<a name="id692348"></a>
           <a href="sph_bessel.html#math_toolkit.special.bessel.sph_bessel.testing">Testing</a>
         </h5>
 <p>
@@ -106,7 +106,7 @@
           implementation (with all the special case handling removed).
         </p>
 <a name="math_toolkit.special.bessel.sph_bessel.accuracy"></a><h5>
-<a name="id692234"></a>
+<a name="id692387"></a>
           <a href="sph_bessel.html#math_toolkit.special.bessel.sph_bessel.accuracy">Accuracy</a>
         </h5>
 <p>
@@ -116,7 +116,7 @@
           refer to these functions for accuracy data.
         </p>
 <a name="math_toolkit.special.bessel.sph_bessel.implementation"></a><h5>
-<a name="id692284"></a>
+<a name="id692437"></a>
           <a href="sph_bessel.html#math_toolkit.special.bessel.sph_bessel.implementation">Implementation</a>
         </h5>
 <p>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_1.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_1.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_1.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -28,7 +28,7 @@
         of the First Kind - Legendre Form</a>
 </h4></div></div></div>
 <a name="math_toolkit.special.ellint.ellint_1.synopsis"></a><h6>
-<a name="id697975"></a>
+<a name="id698129"></a>
           <a href="ellint_1.html#math_toolkit.special.ellint.ellint_1.synopsis">Synopsis</a>
         </h6>
 <p>
@@ -55,7 +55,7 @@
 <span class="special">}}</span> <span class="comment">// namespaces
 </span></pre>
 <a name="math_toolkit.special.ellint.ellint_1.description"></a><h6>
-<a name="id698538"></a>
+<a name="id698692"></a>
           <a href="ellint_1.html#math_toolkit.special.ellint.ellint_1.description">Description</a>
         </h6>
 <p>
@@ -123,7 +123,7 @@
 <p>
         </p>
 <a name="math_toolkit.special.ellint.ellint_1.accuracy"></a><h6>
-<a name="id699197"></a>
+<a name="id699351"></a>
           <a href="ellint_1.html#math_toolkit.special.ellint.ellint_1.accuracy">Accuracy</a>
         </h6>
 <p>
@@ -134,7 +134,7 @@
           All values are relative errors in units of epsilon.
         </p>
 <div class="table">
-<a name="id699231"></a><p class="title"><b>Table 40. Errors Rates in the Elliptic Integrals of the
+<a name="id699385"></a><p class="title"><b>Table 40. Errors Rates in the Elliptic Integrals of the
         First Kind</b></p>
 <div class="table-contents"><table class="table" summary="Errors Rates in the Elliptic Integrals of the
         First Kind">
@@ -237,7 +237,7 @@
 </table></div>
 </div>
 <br class="table-break"><a name="math_toolkit.special.ellint.ellint_1.testing"></a><h6>
-<a name="id699393"></a>
+<a name="id699547"></a>
           <a href="ellint_1.html#math_toolkit.special.ellint.ellint_1.testing">Testing</a>
         </h6>
 <p>
@@ -247,7 +247,7 @@
           this implementation.
         </p>
 <a name="math_toolkit.special.ellint.ellint_1.implementation"></a><h6>
-<a name="id699432"></a>
+<a name="id699587"></a>
           <a href="ellint_1.html#math_toolkit.special.ellint.ellint_1.implementation">Implementation</a>
         </h6>
 <p>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_2.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_2.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_2.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -28,7 +28,7 @@
         of the Second Kind - Legendre Form</a>
 </h4></div></div></div>
 <a name="math_toolkit.special.ellint.ellint_2.synopsis"></a><h6>
-<a name="id699548"></a>
+<a name="id699703"></a>
           <a href="ellint_2.html#math_toolkit.special.ellint.ellint_2.synopsis">Synopsis</a>
         </h6>
 <p>
@@ -55,7 +55,7 @@
 <span class="special">}}</span> <span class="comment">// namespaces
 </span></pre>
 <a name="math_toolkit.special.ellint.ellint_2.description"></a><h6>
-<a name="id700110"></a>
+<a name="id700264"></a>
           <a href="ellint_2.html#math_toolkit.special.ellint.ellint_2.description">Description</a>
         </h6>
 <p>
@@ -123,7 +123,7 @@
 <p>
         </p>
 <a name="math_toolkit.special.ellint.ellint_2.accuracy"></a><h6>
-<a name="id700769"></a>
+<a name="id700923"></a>
           <a href="ellint_2.html#math_toolkit.special.ellint.ellint_2.accuracy">Accuracy</a>
         </h6>
 <p>
@@ -134,7 +134,7 @@
           All values are relative errors in units of epsilon.
         </p>
 <div class="table">
-<a name="id700802"></a><p class="title"><b>Table 41. Errors Rates in the Elliptic Integrals of the
+<a name="id700956"></a><p class="title"><b>Table 41. Errors Rates in the Elliptic Integrals of the
         Second Kind</b></p>
 <div class="table-contents"><table class="table" summary="Errors Rates in the Elliptic Integrals of the
         Second Kind">
@@ -237,7 +237,7 @@
 </table></div>
 </div>
 <br class="table-break"><a name="math_toolkit.special.ellint.ellint_2.testing"></a><h6>
-<a name="id700965"></a>
+<a name="id701119"></a>
           <a href="ellint_2.html#math_toolkit.special.ellint.ellint_2.testing">Testing</a>
         </h6>
 <p>
@@ -247,7 +247,7 @@
           this implementation.
         </p>
 <a name="math_toolkit.special.ellint.ellint_2.implementation"></a><h6>
-<a name="id701004"></a>
+<a name="id701158"></a>
           <a href="ellint_2.html#math_toolkit.special.ellint.ellint_2.implementation">Implementation</a>
         </h6>
 <p>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_3.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_3.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_3.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -28,7 +28,7 @@
         of the Third Kind - Legendre Form</a>
 </h4></div></div></div>
 <a name="math_toolkit.special.ellint.ellint_3.synopsis"></a><h6>
-<a name="id701120"></a>
+<a name="id701274"></a>
           <a href="ellint_3.html#math_toolkit.special.ellint.ellint_3.synopsis">Synopsis</a>
         </h6>
 <p>
@@ -55,7 +55,7 @@
 <span class="special">}}</span> <span class="comment">// namespaces
 </span></pre>
 <a name="math_toolkit.special.ellint.ellint_3.description"></a><h6>
-<a name="id701819"></a>
+<a name="id701973"></a>
           <a href="ellint_3.html#math_toolkit.special.ellint.ellint_3.description">Description</a>
         </h6>
 <p>
@@ -135,7 +135,7 @@
           [opitonal_policy]
         </p>
 <a name="math_toolkit.special.ellint.ellint_3.accuracy"></a><h6>
-<a name="id702662"></a>
+<a name="id702817"></a>
           <a href="ellint_3.html#math_toolkit.special.ellint.ellint_3.accuracy">Accuracy</a>
         </h6>
 <p>
@@ -146,7 +146,7 @@
           All values are relative errors in units of epsilon.
         </p>
 <div class="table">
-<a name="id702696"></a><p class="title"><b>Table 42. Errors Rates in the Elliptic Integrals of the
+<a name="id702851"></a><p class="title"><b>Table 42. Errors Rates in the Elliptic Integrals of the
         Third Kind</b></p>
 <div class="table-contents"><table class="table" summary="Errors Rates in the Elliptic Integrals of the
         Third Kind">
@@ -249,7 +249,7 @@
 </table></div>
 </div>
 <br class="table-break"><a name="math_toolkit.special.ellint.ellint_3.testing"></a><h6>
-<a name="id702859"></a>
+<a name="id703014"></a>
           <a href="ellint_3.html#math_toolkit.special.ellint.ellint_3.testing">Testing</a>
         </h6>
 <p>
@@ -259,7 +259,7 @@
           this implementation.
         </p>
 <a name="math_toolkit.special.ellint.ellint_3.implementation"></a><h6>
-<a name="id702898"></a>
+<a name="id703052"></a>
           <a href="ellint_3.html#math_toolkit.special.ellint.ellint_3.implementation">Implementation</a>
         </h6>
 <p>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_carlson.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_carlson.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_carlson.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -28,7 +28,7 @@
         Integrals - Carlson Form</a>
 </h4></div></div></div>
 <a name="math_toolkit.special.ellint.ellint_carlson.synopsis"></a><h6>
-<a name="id693855"></a>
+<a name="id694009"></a>
           <a href="ellint_carlson.html#math_toolkit.special.ellint.ellint_carlson.synopsis">Synopsis</a>
         </h6>
 <p>
@@ -100,7 +100,7 @@
 <span class="special">}}</span> <span class="comment">// namespaces
 </span></pre>
 <a name="math_toolkit.special.ellint.ellint_carlson.description"></a><h6>
-<a name="id695626"></a>
+<a name="id695779"></a>
           <a href="ellint_carlson.html#math_toolkit.special.ellint.ellint_carlson.description">Description</a>
         </h6>
 <p>
@@ -236,7 +236,7 @@
           <span class="inlinemediaobject"><img src="../../../../equations/ellint18.png"></span>
         </p>
 <a name="math_toolkit.special.ellint.ellint_carlson.testing"></a><h6>
-<a name="id697394"></a>
+<a name="id697548"></a>
           <a href="ellint_carlson.html#math_toolkit.special.ellint.ellint_carlson.testing">Testing</a>
         </h6>
 <p>
@@ -265,7 +265,7 @@
           to verify their correctness: see the above Carlson paper for details.
         </p>
 <a name="math_toolkit.special.ellint.ellint_carlson.accuracy"></a><h6>
-<a name="id697464"></a>
+<a name="id697618"></a>
           <a href="ellint_carlson.html#math_toolkit.special.ellint.ellint_carlson.accuracy">Accuracy</a>
         </h6>
 <p>
@@ -276,7 +276,7 @@
           All values are relative errors in units of epsilon.
         </p>
 <div class="table">
-<a name="id697499"></a><p class="title"><b>Table 39. Errors Rates in the Carlson Elliptic Integrals</b></p>
+<a name="id697653"></a><p class="title"><b>Table 39. Errors Rates in the Carlson Elliptic Integrals</b></p>
 <div class="table-contents"><table class="table" summary="Errors Rates in the Carlson Elliptic Integrals">
 <colgroup>
 <col>
@@ -419,7 +419,7 @@
 </table></div>
 </div>
 <br class="table-break"><a name="math_toolkit.special.ellint.ellint_carlson.implementation"></a><h6>
-<a name="id697730"></a>
+<a name="id697884"></a>
           <a href="ellint_carlson.html#math_toolkit.special.ellint.ellint_carlson.implementation">Implementation</a>
         </h6>
 <p>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_intro.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_intro.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/ellint/ellint_intro.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -61,14 +61,14 @@
           Elliptic integral</a>.
         </p>
 <a name="math_toolkit.special.ellint.ellint_intro.notation"></a><h5>
-<a name="id692512"></a>
+<a name="id692665"></a>
           <a href="ellint_intro.html#math_toolkit.special.ellint.ellint_intro.notation">Notation</a>
         </h5>
 <p>
           All variables are real numbers unless otherwise noted.
         </p>
 <a name="ellint_def"></a><a name="math_toolkit.special.ellint.ellint_intro.definition"></a><h5>
-<a name="id692549"></a>
+<a name="id692702"></a>
           <a href="ellint_intro.html#math_toolkit.special.ellint.ellint_intro.definition">Definition</a>
         </h5>
 <p>
@@ -257,7 +257,7 @@
 </td></tr>
 </table></div>
 <a name="ellint_theorem"></a><a name="math_toolkit.special.ellint.ellint_intro.duplication_theorem"></a><h5>
-<a name="id693304"></a>
+<a name="id693458"></a>
           <a href="ellint_intro.html#math_toolkit.special.ellint.ellint_intro.duplication_theorem">Duplication
           Theorem</a>
         </h5>
@@ -269,7 +269,7 @@
           <span class="inlinemediaobject"><img src="../../../../equations/ellint13.png"></span>
         </p>
 <a name="ellint_formula"></a><a name="math_toolkit.special.ellint.ellint_intro.carlson_s_formulas"></a><h5>
-<a name="id693379"></a>
+<a name="id693533"></a>
           <a href="ellint_intro.html#math_toolkit.special.ellint.ellint_intro.carlson_s_formulas">Carlson's
           Formulas</a>
         </h5>
@@ -287,7 +287,7 @@
           <span class="inlinemediaobject"><img src="../../../../equations/ellint15.png"></span>
         </p>
 <a name="math_toolkit.special.ellint.ellint_intro.numerical_algorithms"></a><h5>
-<a name="id693474"></a>
+<a name="id693627"></a>
           <a href="ellint_intro.html#math_toolkit.special.ellint.ellint_intro.numerical_algorithms">Numerical
           Algorithms</a>
         </h5>
@@ -301,7 +301,7 @@
           integrals with satisfactory precisions.
         </p>
 <a name="ellint_refs"></a><a name="math_toolkit.special.ellint.ellint_intro.references"></a><h5>
-<a name="id693536"></a>
+<a name="id693689"></a>
           <a href="ellint_intro.html#math_toolkit.special.ellint.ellint_intro.references">References</a>
         </h5>
 <p>

Added: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/expint.html
==============================================================================
--- (empty file)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/expint.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Exponential Integrals</title>
+<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
+<link rel="start" href="../../index.html" title="Math Toolkit">
+<link rel="up" href="../special.html" title="Special Functions">
+<link rel="prev" href="zetas/zeta.html" title="Riemann Zeta Function">
+<link rel="next" href="expint/expint_n.html" title="Exponential Integral En">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<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">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="zetas/zeta.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="expint/expint_n.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.special.expint"></a> Exponential Integrals
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="expint/expint_n.html"> Exponential
+ Integral En</a></span></dt>
+<dt><span class="section"><a href="expint/expint_i.html"> Exponential
+ Integral Ei</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2006 , 2007, 2008 John Maddock, Paul A. Bristow, Hubert
+ Holin, Xiaogang Zhang and Bruno Lalande<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="zetas/zeta.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="expint/expint_n.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/expint/expint_i.html
==============================================================================
--- (empty file)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/expint/expint_i.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -0,0 +1,309 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Exponential Integral Ei</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
+<link rel="start" href="../../../index.html" title="Math Toolkit">
+<link rel="up" href="../expint.html" title="Exponential Integrals">
+<link rel="prev" href="expint_n.html" title="Exponential Integral En">
+<link rel="next" href="../powers.html" title="Logs, Powers, Roots and Exponentials">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<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">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="expint_n.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expint.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../powers.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.special.expint.expint_i"></a><a href="expint_i.html" title="Exponential Integral Ei"> Exponential
+ Integral Ei</a>
+</h4></div></div></div>
+<a name="math_toolkit.special.expint.expint_i.synopsis"></a><h5>
+<a name="id705972"></a>
+ Synopsis
+ </h5>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">expint</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+calculated-result-type <span class="identifier">expint</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> Policy<span class="special">&gt;</span>
+calculated-result-type <span class="identifier">expint</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> Policy<span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces
+</span></pre>
+<p>
+ The return type of these functions is computed using the <a href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a>: the return type is <code class="computeroutput"><span class="keyword">double</span></code> if T is an integer type, and T otherwise.
+ </p>
+<p>
+ </p>
+<p>
+ The final Policy argument
+ is optional and can be used to control the behaviour of the function:
+ how it handles errors, what level of precision to use etc. Refer to the
+ policy documentation for more details.
+ </p>
+<p>
+ </p>
+<a name="math_toolkit.special.expint.expint_i.description"></a><h5>
+<a name="id706348"></a>
+ Description
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+calculated-result-type <span class="identifier">expint</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> Policy<span class="special">&gt;</span>
+calculated-result-type <span class="identifier">expint</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> Policy<span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the <a href="http://mathworld.wolfram.com/ExponentialIntegral.html" target="_top">exponential
+ integral</a> of z:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/expint_i_1.png"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/expint_i.png" align="middle"></span>
+ </p>
+<a name="math_toolkit.special.expint.expint_i.accuracy"></a><h5>
+<a name="id706626"></a>
+ Accuracy
+ </h5>
+<p>
+ The following table shows the peak errors (in units of epsilon) found on
+ various platforms with various floating point types, along with comparisons
+ to Cody's SPECFUN implementation and the GSL-1.9
+ library. Unless otherwise specified any floating point type that is narrower
+ than the one shown will have <a href="../../backgrounders/relative_error.html#zero_error">effectively zero
+ error</a>.
+ </p>
+<div class="table">
+<a name="id706665"></a><p class="title"><b>Table 45. Errors In the Function expint(z)</b></p>
+<div class="table-contents"><table class="table" summary="Errors In the Function expint(z)">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ Error
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32, Visual C++ 8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=2.4 Mean=0.6
+ </p>
+ <p>
+ GSL Peak=8.9 Mean=0.7
+ </p>
+ <p>
+ SPECFUN (Cody) Peak=2.5 Mean=0.6
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ RedHat Linux IA_EM64, gcc-4.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=5.1 Mean=0.8
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Redhat Linux IA64, gcc-4.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=5.0 Mean=0.8
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HPUX IA64, aCC A.06.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=1.9 Mean=0.63
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><p>
+ It should be noted that all three libraries tested above offer sub-epsilon
+ precision over most of their range.
+ </p>
+<p>
+ GSL has the greatest difficulty near the positive root of En, while Cody's
+ SPECFUN along with this implementation increase their error rates very
+ slightly over the range [4,6].
+ </p>
+<a name="math_toolkit.special.expint.expint_i.testing"></a><h5>
+<a name="id706849"></a>
+ Testing
+ </h5>
+<p>
+ The tests for these functions come in two parts: basic sanity checks use
+ spot values calculated using <a href="http://functions.wolfram.com/webMathematica/FunctionEvaluation.jsp?name=ExpIntegralEi" target="_top">Mathworld's
+ online evaluator</a>, while accuracy checks use high-precision test
+ values calculated at 1000-bit precision with NTL::RR
+ and this implementation. Note that the generic and type-specific versions
+ of these functions use differing implementations internally, so this gives
+ us reasonably independent test data. Using our test data to test other
+ "known good" implementations also provides an additional sanity
+ check.
+ </p>
+<a name="math_toolkit.special.expint.expint_i.implementation"></a><h5>
+<a name="id706902"></a>
+ Implementation
+ </h5>
+<p>
+ For x &lt; 0 this function just calls zeta(1,
+ -x): which in turn is implemented in terms of rational approximations when
+ the type of x has 113 or fewer bits of precision.
+ </p>
+<p>
+ For x &gt; 0 the generic version is implemented using the infinte series:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/expint_i_2.png"></span>
+ </p>
+<p>
+ However, when the precision of the argument type is known at compile time
+ and is 113 bits or less, then rational approximations <a href="../../backgrounders/implementation.html#math_toolkit.backgrounders.implementation.rational_approximations_used">devised
+ by JM</a> are used.
+ </p>
+<p>
+ For 0 &lt; z &lt; 6 a root-preserving approximation of the form:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/expint_i_3.png"></span>
+ </p>
+<p>
+ is used, where z<sub>0</sub> is the positive root of the function, and R(z/3 - 1) is
+ a minimax rational approximation rescaled so that it is evaluated over
+ [-1,1]. Note that while the rational approximation over [0,6] converges
+ rapidly to the minimax solution it is rather ill-conditioned in practice.
+ Cody and Thacher
+ <sup>[<a name="id707041" href="#ftn.id707041">1</a>]</sup>
+ experienced the same issue and converted the polynomials into Chebeshev
+ form to ensure stable computation. By experiment we found that the polynomials
+ are just as stable in polynomial as Chebyshev form, <span class="emphasis"><em>provided</em></span>
+ they are computed over the interval [-1,1].
+ </p>
+<p>
+ Over the a series of intervals [a,b] and [b,INF] the rational approximation
+ takes the form:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/expint_i_4.png"></span>
+ </p>
+<p>
+ where <span class="emphasis"><em>c</em></span> is a constant, and R(t) is a minimax solution
+ optimised for low absolute error compared to <span class="emphasis"><em>c</em></span>. Variable
+ <span class="emphasis"><em>t</em></span> is <code class="computeroutput"><span class="number">1</span><span class="special">/</span><span class="identifier">z</span></code> when
+ the range in infinite and <code class="computeroutput"><span class="number">2</span><span class="identifier">z</span><span class="special">/(</span><span class="identifier">b</span><span class="special">-</span><span class="identifier">a</span><span class="special">)</span>
+ <span class="special">-</span> <span class="special">(</span><span class="number">2</span><span class="identifier">a</span><span class="special">/(</span><span class="identifier">b</span><span class="special">-</span><span class="identifier">a</span><span class="special">)</span> <span class="special">+</span> <span class="number">1</span><span class="special">)</span></code> otherwise: this has the effect of scaling
+ z to the interval [-1,1]. As before rational approximations over arbitrary
+ intervals were found to be ill-conditioned: Cody and Thacher solved this
+ issue by converting the polynomials to their J-Fraction equivalent. However,
+ as long as the interval of evaluation was [-1,1] and the number of terms
+ carefully chosen, it was found that the polynomials <span class="emphasis"><em>could</em></span>
+ be evaluated to suitable precision: error rates are typically 2 to 3 epsilon
+ which is comparible to the error rate that Cody and Thacher achieved using
+ J-Fractions, but marginally more efficient given that fewer divisions are
+ involved.
+ </p>
+<div class="footnotes">
+<br><hr width="100" align="left">
+<div class="footnote"><p><sup>[<a name="ftn.id707041" href="#id707041">1</a>] </sup>
+ W. J. Cody and H. C. Thacher, Jr., Rational Chebyshev approximations
+ for the exponential integral E<sub>1</sub>(x), Math. Comp. 22 (1968), 641-649,
+ and W. J. Cody and H. C. Thacher, Jr., Chebyshev approximations for
+ the exponential integral Ei(x), Math. Comp. 23 (1969), 289-303.
+ </p></div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2006 , 2007, 2008 John Maddock, Paul A. Bristow, Hubert
+ Holin, Xiaogang Zhang and Bruno Lalande<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="expint_n.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expint.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../powers.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/expint/expint_n.html
==============================================================================
--- (empty file)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/expint/expint_n.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -0,0 +1,302 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Exponential Integral En</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
+<link rel="start" href="../../../index.html" title="Math Toolkit">
+<link rel="up" href="../expint.html" title="Exponential Integrals">
+<link rel="prev" href="../expint.html" title="Exponential Integrals">
+<link rel="next" href="expint_i.html" title="Exponential Integral Ei">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<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">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../expint.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expint.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="expint_i.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.special.expint.expint_n"></a><a href="expint_n.html" title="Exponential Integral En"> Exponential
+ Integral En</a>
+</h4></div></div></div>
+<a name="math_toolkit.special.expint.expint_n.synopsis"></a><h5>
+<a name="id704647"></a>
+ Synopsis
+ </h5>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">expint</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+calculated-result-type <span class="identifier">expint</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> Policy<span class="special">&gt;</span>
+calculated-result-type <span class="identifier">expint</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> Policy<span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces
+</span></pre>
+<p>
+ The return type of these functions is computed using the <a href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a>: the return type is <code class="computeroutput"><span class="keyword">double</span></code> if T is an integer type, and T otherwise.
+ </p>
+<p>
+ </p>
+<p>
+ The final Policy argument
+ is optional and can be used to control the behaviour of the function:
+ how it handles errors, what level of precision to use etc. Refer to the
+ policy documentation for more details.
+ </p>
+<p>
+ </p>
+<a name="math_toolkit.special.expint.expint_n.description"></a><h5>
+<a name="id705057"></a>
+ Description
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+calculated-result-type <span class="identifier">expint</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> Policy<span class="special">&gt;</span>
+calculated-result-type <span class="identifier">expint</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> Policy<span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the <a href="http://mathworld.wolfram.com/En-Function.html" target="_top">exponential
+ integral En</a> of z:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/expint_n_1.png"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/expint2.png" align="middle"></span>
+ </p>
+<a name="math_toolkit.special.expint.expint_n.accuracy"></a><h5>
+<a name="id705370"></a>
+ Accuracy
+ </h5>
+<p>
+ The following table shows the peak errors (in units of epsilon) found on
+ various platforms with various floating point types, along with comparisons
+ to the Cephes library.
+ Unless otherwise specified any floating point type that is narrower than
+ the one shown will have effectively zero error.
+ </p>
+<div class="table">
+<a name="id705409"></a><p class="title"><b>Table 44. Errors In the Function expint(n, z)</b></p>
+<div class="table-contents"><table class="table" summary="Errors In the Function expint(n, z)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ En
+ </p>
+ </th>
+<th>
+ <p>
+ E1
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32, Visual C++ 8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=7.1 Mean=1.8
+ </p>
+ <p>
+ Cephes Peak=5.1
+ Mean=1.3
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.99 Mean=0.5
+ </p>
+ <p>
+ Cephes Peak=3.1
+ Mean=1.1
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ RedHat Linux IA_EM64, gcc-4.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=9.9 Mean=2.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.97 Mean=0.4
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Redhat Linux IA64, gcc-4.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=9.9 Mean=2.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.97 Mean=0.4
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HPUX IA64, aCC A.06.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=23.3 Mean=3.7
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=1.6 Mean=0.5
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><a name="math_toolkit.special.expint.expint_n.testing"></a><h5>
+<a name="id705627"></a>
+ Testing
+ </h5>
+<p>
+ The tests for these functions come in two parts: basic sanity checks use
+ spot values calculated using <a href="http://functions.wolfram.com/webMathematica/FunctionEvaluation.jsp?name=ExpIntegralE" target="_top">Mathworld's
+ online evaluator</a>, while accuracy checks use high-precision test
+ values calculated at 1000-bit precision with NTL::RR
+ and this implementation. Note that the generic and type-specific versions
+ of these functions use differing implementations internally, so this gives
+ us reasonably independent test data. Using our test data to test other
+ "known good" implementations also provides an additional sanity
+ check.
+ </p>
+<a name="math_toolkit.special.expint.expint_n.implementation"></a><h5>
+<a name="id705680"></a>
+ Implementation
+ </h5>
+<p>
+ The generic version of this function uses the continued fraction:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/expint_n_3.png"></span>
+ </p>
+<p>
+ for large <span class="emphasis"><em>x</em></span> and the infinite series:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/expint_n_2.png"></span>
+ </p>
+<p>
+ for small <span class="emphasis"><em>x</em></span>.
+ </p>
+<p>
+ Where the precision of <span class="emphasis"><em>x</em></span> is known at compile time
+ and is 113 bits or fewer in precision, then rational approximations <a href="../../backgrounders/implementation.html#math_toolkit.backgrounders.implementation.rational_approximations_used">devised
+ by JM</a> are used for the <code class="computeroutput"><span class="identifier">n</span>
+ <span class="special">==</span> <span class="number">1</span></code>
+ case.
+ </p>
+<p>
+ For <code class="computeroutput"><span class="identifier">x</span> <span class="special">&lt;</span>
+ <span class="number">1</span></code> the approximating form is a minimax
+ approximation:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/expint_n_4.png"></span>
+ </p>
+<p>
+ and for <code class="computeroutput"><span class="identifier">x</span> <span class="special">&gt;</span>
+ <span class="number">1</span></code> a Chebyshev interpolated approximation
+ of the form:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/expint_n_5.png"></span>
+ </p>
+<p>
+ is used.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2006 , 2007, 2008 John Maddock, Paul A. Bristow, Hubert
+ Holin, Xiaogang Zhang and Bruno Lalande<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../expint.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../expint.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="expint_i.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/fpclass.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/fpclass.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/fpclass.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -1,7 +1,7 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Floating Point Classification: Infinities and NaN's</title>
+<title>Floating-Point Classification: Infinities and NaN's</title>
 <link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
 <link rel="start" href="../../index.html" title="Math Toolkit">
@@ -24,11 +24,11 @@
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="math_toolkit.special.fpclass"></a><a href="fpclass.html" title="Floating Point Classification: Infinities and NaN's"> Floating Point Classification:
+<a name="math_toolkit.special.fpclass"></a><a href="fpclass.html" title="Floating-Point Classification: Infinities and NaN's"> Floating-Point Classification:
       Infinities and NaN's</a>
 </h3></div></div></div>
 <a name="math_toolkit.special.fpclass.synopsis"></a><h5>
-<a name="id719333"></a>
+<a name="id719474"></a>
         <a href="fpclass.html#math_toolkit.special.fpclass.synopsis">Synopsis</a>
       </h5>
 <pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">FP_ZERO</span> <span class="comment">/* implementation specific value */</span>
@@ -41,19 +41,24 @@
 <span class="keyword">int</span> <span class="identifier">fpclassify</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">);</span>
 
 <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">bool</span> <span class="identifier">isfinite</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
-
+<span class="keyword">bool</span> <span class="identifier">isfinite</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span> <span class="comment">// Neither infinity nor NaN.
+</span>
 <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">bool</span> <span class="identifier">isinf</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">);</span>
-
+<span class="keyword">bool</span> <span class="identifier">isinf</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">);</span> <span class="comment">// Infinity (+ or -).
+</span>
 <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">bool</span> <span class="identifier">isnan</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">);</span>
-
+<span class="keyword">bool</span> <span class="identifier">isnan</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">);</span> <span class="comment">// NaN.
+</span>
 <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
-<span class="keyword">bool</span> <span class="identifier">isnormal</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">);</span>
+<span class="keyword">bool</span> <span class="identifier">isnormal</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">);</span> <span class="comment">// isfinite and not denormalised.
+</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">\</span><span class="identifier">math</span><span class="special">\</span><span class="identifier">special_functions</span><span class="special">\</span><span class="identifier">fpclassify</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
 </pre>
+<p>
+ to use these functions.
+ </p>
 <a name="math_toolkit.special.fpclass.description"></a><h5>
-<a name="id719773"></a>
+<a name="id720008"></a>
         <a href="fpclass.html#math_toolkit.special.fpclass.description">Description</a>
       </h5>
 <p>
@@ -83,9 +88,18 @@
 </span><span class="comment">// As above but with namespace qualification.
 </span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">isnan</span><span class="special">)(</span><span class="identifier">z</span><span class="special">);</span>
 <span class="comment">//
-</span><span class="comment">// This will cause a compiler error is isnan is a native macro:
+</span><span class="comment">// This will cause a compiler error if isnan is a native macro:
 </span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">isnan</span><span class="special">(</span><span class="identifier">z</span><span class="special">);</span>
-<span class="comment">// So always use (boost::math::isnan)(z); instead.
+<span class="comment">// So always use instead:
+</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">isnan</span><span class="special">)(</span><span class="identifier">z</span><span class="special">);</span>
+<span class="comment">//
+</span><span class="comment">// You can also add a using statment,
+</span><span class="comment">// globally to a .cpp file, or to a local function in a .hpp file.
+</span><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">isnan</span><span class="special">;</span>
+<span class="comment">// so you can write the shorter and less cluttered
+</span><span class="special">(</span><span class="identifier">isnan</span><span class="special">)(</span><span class="identifier">z</span><span class="special">)</span>
+<span class="comment">// But, as above, if isnan is a native macro, this causes a compiler error,
+</span><span class="comment">// because the macro always 'gets' the name first, unless enclosed in () brackets.
 </span></pre>
 <p>
         Detailed descriptions for each of these functions follows:
@@ -193,7 +207,7 @@
 <span class="keyword">bool</span> <span class="identifier">isnan</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">);</span>
 </pre>
 <p>
- Returns true only if <span class="emphasis"><em>z</em></span> is a NaN.
+ Returns true only if <span class="emphasis"><em>z</em></span> is a NaN.
       </p>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
 <span class="keyword">bool</span> <span class="identifier">isnormal</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">t</span><span class="special">);</span>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/cbrt.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/cbrt.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/cbrt.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -71,7 +71,7 @@
           <span class="inlinemediaobject"><img src="../../../../graphs/cbrt.png" align="middle"></span>
         </p>
 <a name="math_toolkit.special.powers.cbrt.accuracy"></a><h5>
-<a name="id709131"></a>
+<a name="id709273"></a>
           <a href="cbrt.html#math_toolkit.special.powers.cbrt.accuracy">Accuracy</a>
         </h5>
 <p>
@@ -79,7 +79,7 @@
           should have approximately 2 epsilon accuracy.
         </p>
 <a name="math_toolkit.special.powers.cbrt.testing"></a><h5>
-<a name="id709172"></a>
+<a name="id709314"></a>
           <a href="cbrt.html#math_toolkit.special.powers.cbrt.testing">Testing</a>
         </h5>
 <p>

Added: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/ct_pow.html
==============================================================================
--- (empty file)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/ct_pow.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -0,0 +1,240 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Compile Time Power of a Runtime Base</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
+<link rel="start" href="../../../index.html" title="Math Toolkit">
+<link rel="up" href="../powers.html" title="Logs, Powers, Roots and Exponentials">
+<link rel="prev" href="hypot.html" title="hypot">
+<link rel="next" href="../sinc.html" title="Sinus Cardinal and Hyperbolic Sinus Cardinal Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<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">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="hypot.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../powers.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../sinc.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.special.powers.ct_pow"></a><a href="ct_pow.html" title="Compile Time Power of a Runtime Base"> Compile Time Power
+ of a Runtime Base</a>
+</h4></div></div></div>
+<p>
+ The <code class="computeroutput"><span class="identifier">pow</span></code> function effectively
+ computes the compile-time integral power of a run-time base.
+ </p>
+<a name="math_toolkit.special.powers.ct_pow.synopsis"></a><h5>
+<a name="id710980"></a>
+ Synopsis
+ </h5>
+<p>
+ #include <boost/math/special_functions/pow.hpp>
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+calculated-result-type <span class="identifier">pow</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">base</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+calculated-result-type <span class="identifier">pow</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">base</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;</span> <span class="identifier">policy</span><span class="special">);</span>
+
+<span class="special">}}</span>
+</pre>
+<a name="math_toolkit.special.powers.ct_pow.rationale_and_usage"></a><h5>
+<a name="id711343"></a>
+ <a href="ct_pow.html#math_toolkit.special.powers.ct_pow.rationale_and_usage">Rationale
+ and Usage</a>
+ </h5>
+<p>
+ Computing the power of a number with an exponent that is known at compile
+ time is a common need for programmers. In such cases, the usual method
+ is to avoid the overhead implied by the <code class="computeroutput"><span class="identifier">pow</span></code>,
+ <code class="computeroutput"><span class="identifier">powf</span></code> and <code class="computeroutput"><span class="identifier">powl</span></code> C functions by hardcoding an expression
+ such as:
+ </p>
+<pre class="programlisting"><span class="comment">// Hand-written 8th power of a 'base' variable
+</span><span class="keyword">double</span> <span class="identifier">result</span> <span class="special">=</span> <span class="identifier">base</span><span class="special">*</span><span class="identifier">base</span><span class="special">*</span><span class="identifier">base</span><span class="special">*</span><span class="identifier">base</span><span class="special">*</span><span class="identifier">base</span><span class="special">*</span><span class="identifier">base</span><span class="special">*</span><span class="identifier">base</span><span class="special">*</span><span class="identifier">base</span><span class="special">;</span>
+</pre>
+<p>
+ However, this kind of expression is not really readable (knowing the value
+ of the exponent involves counting the number of occurrences of <span class="emphasis"><em>base</em></span>),
+ error-prone (it's easy to forget an occurrence), syntactically bulky, and
+ non-optimal in terms of performance.
+ </p>
+<p>
+ The pow function of Boost.Math helps writing this kind expression along
+ with solving all the problems listed above:
+ </p>
+<pre class="programlisting"><span class="comment">// 8th power of a 'base' variable using math::pow
+</span><span class="keyword">double</span> <span class="identifier">result</span> <span class="special">=</span> <span class="identifier">pow</span><span class="special">&lt;</span><span class="number">8</span><span class="special">&gt;(</span><span class="identifier">base</span><span class="special">);</span>
+</pre>
+<p>
+ The expression is now shorter, easier to read, safer, and even faster.
+ Indeed, <code class="computeroutput"><span class="identifier">pow</span></code> will compute
+ the expression such that only log2(N) products are made for a power of
+ N. For instance in the example above, the resulting expression will be
+ the same as if we had written this, with only one computation of each identical
+ subexpression:
+ </p>
+<pre class="programlisting"><span class="comment">// Internal effect of pow&lt;8&gt;(base)
+</span><span class="keyword">double</span> <span class="identifier">result</span> <span class="special">=</span> <span class="special">((</span><span class="identifier">base</span><span class="special">*</span><span class="identifier">base</span><span class="special">)*(</span><span class="identifier">base</span><span class="special">*</span><span class="identifier">base</span><span class="special">))*((</span><span class="identifier">base</span><span class="special">*</span><span class="identifier">base</span><span class="special">)*(</span><span class="identifier">base</span><span class="special">*</span><span class="identifier">base</span><span class="special">));</span>
+</pre>
+<p>
+ Only 3 different products were actually computed.
+ </p>
+<a name="math_toolkit.special.powers.ct_pow.return_type"></a><h5>
+<a name="id711749"></a>
+ Return Type
+ </h5>
+<p>
+ The return type of these functions is computed using the <a href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a> when T1 and T2 are different types.
+ For example:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+ If T is a <code class="computeroutput"><span class="keyword">float</span></code>, the return
+ type is a <code class="computeroutput"><span class="keyword">float</span></code>.
+ </li>
+<li>
+ If T is a <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>,
+ the return type is a <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>.
+ </li>
+<li>
+ Otherwise, the return type is a <code class="computeroutput"><span class="keyword">double</span></code>.
+ </li>
+</ul></div>
+<a name="math_toolkit.special.powers.ct_pow.policies"></a><h5>
+<a name="id711877"></a>
+ Policies
+ </h5>
+<p>
+ </p>
+<p>
+ The final Policy argument
+ is optional and can be used to control the behaviour of the function:
+ how it handles errors, what level of precision to use etc. Refer to the
+ policy documentation for more details.
+ </p>
+<p>
+ </p>
+<a name="math_toolkit.special.powers.ct_pow.error_handling"></a><h5>
+<a name="id711930"></a>
+ <a href="ct_pow.html#math_toolkit.special.powers.ct_pow.error_handling">Error
+ Handling</a>
+ </h5>
+<p>
+ In the case where <code class="computeroutput"><span class="identifier">pow</span></code> is
+ called with a null base and a negative exponent, an error occurs since
+ this operation is a division by 0 (it equals to 1/0). The error raised
+ is an overflow_error following the
+ <a href="../../../sf_and_dist/html/math_toolkit/main_overview/error_handling.html" target="_top">general
+ policies of error handling in Boost.Math</a>.
+ </p>
+<p>
+ The default overflow error policy is <code class="computeroutput"><span class="identifier">throw_on_error</span></code>.
+ A call like <code class="computeroutput"><span class="identifier">pow</span><span class="special">&lt;-</span><span class="number">2</span><span class="special">&gt;(</span><span class="number">0</span><span class="special">)</span></code> will thus throw a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">overflow_error</span></code>
+ exception. As shown in the link given above, other error handling policies
+ can be used:
+ </p>
+<div class="itemizedlist"><ul type="disc">
+<li>
+<code class="computeroutput"><span class="identifier">errno_on_error</span></code>: Sets
+ <code class="computeroutput"><span class="special">::</span><span class="identifier">errno</span></code>
+ to <code class="computeroutput"><span class="identifier">ERANGE</span></code> and returns
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">infinity</span><span class="special">()</span></code>.
+ </li>
+<li>
+<code class="computeroutput"><span class="identifier">ignore_error</span></code>: Returns
+ <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">infinity</span><span class="special">()</span></code>.
+ </li>
+<li>
+<code class="computeroutput"><span class="identifier">user_error</span></code>: Returns the
+ result of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">::</span><span class="identifier">user_overflow_error</span></code>: this function
+ must be defined by the user.
+ </li>
+</ul></div>
+<p>
+ Here is an example of error handling customization where we want to specify
+ the result that has to be returned in case of error. We will thus use the
+ <code class="computeroutput"><span class="identifier">user_error</span></code> policy, by passing
+ as second argument an instance of an overflow_error policy templated with
+ <code class="computeroutput"><span class="identifier">user_error</span></code>:
+ </p>
+<pre class="programlisting"><span class="comment">// First we open the boost::math::policies namespace and define the `user_overflow_error`
+</span><span class="comment">// by making it return the value we want in case of error (-1 here)
+</span>
+<span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">policies</span> <span class="special">{</span>
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">user_overflow_error</span><span class="special">(</span><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*,</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;)</span>
+<span class="special">{</span> <span class="keyword">return</span> <span class="special">-</span><span class="number">1</span><span class="special">;</span> <span class="special">}</span>
+<span class="special">}}}</span>
+
+
+<span class="comment">// Then we invoke pow and indicate that we want to use the user_error policy
+</span><span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">policies</span><span class="special">;</span>
+<span class="keyword">double</span> <span class="identifier">result</span> <span class="special">=</span> <span class="identifier">pow</span><span class="special">&lt;-</span><span class="number">5</span><span class="special">&gt;(</span><span class="identifier">base</span><span class="special">,</span> <span class="identifier">policy</span><span class="special">&lt;</span><span class="identifier">overflow_error</span><span class="special">&lt;</span><span class="identifier">user_error</span><span class="special">&gt;</span> <span class="special">&gt;());</span>
+
+<span class="comment">// We can now test the returned value and treat the special case if needed:
+</span><span class="keyword">if</span> <span class="special">(</span><span class="identifier">result</span> <span class="special">==</span> <span class="special">-</span><span class="number">1</span><span class="special">)</span>
+<span class="special">{</span>
+ <span class="comment">// there was an error, do something...
+</span><span class="special">}</span>
+</pre>
+<p>
+ Another way is to redefine the default <code class="computeroutput"><span class="identifier">overflow_error</span></code>
+ policy by using the BOOST_MATH_OVERFLOW_ERROR_POLICY macro. Once the <code class="computeroutput"><span class="identifier">user_overflow_error</span></code> function is defined
+ as above, we can achieve the same result like this:
+ </p>
+<pre class="programlisting"><span class="comment">// Redefine the default error_overflow policy
+</span><span class="preprocessor">#define</span> <span class="identifier">BOOST_MATH_OVERFLOW_ERROR_POLICY</span> <span class="identifier">user_error</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">pow</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+
+<span class="comment">// From this point, passing a policy in argument is no longer needed, a call like this one
+</span><span class="comment">// will return -1 in case of error:
+</span>
+<span class="keyword">double</span> <span class="identifier">result</span> <span class="special">=</span> <span class="identifier">pow</span><span class="special">&lt;-</span><span class="number">5</span><span class="special">&gt;(</span><span class="identifier">base</span><span class="special">);</span>
+</pre>
+<a name="math_toolkit.special.powers.ct_pow.acknowledgements"></a><h5>
+<a name="id712916"></a>
+ Acknowledgements
+ </h5>
+<p>
+ Bruno Lalande submitted this addition to Boost.Math.
+ </p>
+<p>
+ Thanks to Joaquín López Muñoz and Scott McMurray for their help in
+improving the implementation.
+ </p>
+<a name="math_toolkit.special.powers.ct_pow.references"></a><h5>
+<a name="id712954"></a>
+ References
+ </h5>
+<p>
+ D.E. Knuth, <span class="emphasis"><em>The Art of Computer Programming, Vol. 2: Seminumerical
+ Algorithms</em></span>, 2nd ed., Addison-Wesley, Reading, MA, 1981
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2006 , 2007, 2008 John Maddock, Paul A. Bristow, Hubert
+ Holin, Xiaogang Zhang and Bruno Lalande<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="hypot.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../powers.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../sinc.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/expm1.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/expm1.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/expm1.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -80,7 +80,7 @@
           <span class="inlinemediaobject"><img src="../../../../graphs/expm1.png" align="middle"></span>
         </p>
 <a name="math_toolkit.special.powers.expm1.accuracy"></a><h5>
-<a name="id708631"></a>
+<a name="id708773"></a>
           <a href="expm1.html#math_toolkit.special.powers.expm1.accuracy">Accuracy</a>
         </h5>
 <p>
@@ -88,7 +88,7 @@
           should have approximately 1 epsilon accuracy.
         </p>
 <a name="math_toolkit.special.powers.expm1.testing"></a><h5>
-<a name="id708672"></a>
+<a name="id708814"></a>
           <a href="expm1.html#math_toolkit.special.powers.expm1.testing">Testing</a>
         </h5>
 <p>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/hypot.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/hypot.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/hypot.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -58,7 +58,7 @@
           representable.
         </p>
 <a name="math_toolkit.special.powers.hypot.implementation"></a><h5>
-<a name="id710713"></a>
+<a name="id710855"></a>
           <a href="hypot.html#math_toolkit.special.powers.hypot.implementation">Implementation</a>
         </h5>
 <p>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/log1p.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/log1p.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/log1p.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -93,7 +93,7 @@
           <span class="inlinemediaobject"><img src="../../../../graphs/log1p.png" align="middle"></span>
         </p>
 <a name="math_toolkit.special.powers.log1p.accuracy"></a><h5>
-<a name="id708035"></a>
+<a name="id708178"></a>
           <a href="log1p.html#math_toolkit.special.powers.log1p.accuracy">Accuracy</a>
         </h5>
 <p>
@@ -101,7 +101,7 @@
           should have approximately 1 epsilon accuracy.
         </p>
 <a name="math_toolkit.special.powers.log1p.testing"></a><h5>
-<a name="id708076"></a>
+<a name="id708218"></a>
           <a href="log1p.html#math_toolkit.special.powers.log1p.testing">Testing</a>
         </h5>
 <p>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/powm1.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/powm1.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/powm1.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -74,14 +74,14 @@
           <span class="inlinemediaobject"><img src="../../../../graphs/powm1.png" align="middle"></span>
         </p>
 <a name="math_toolkit.special.powers.powm1.accuracy"></a><h5>
-<a name="id710274"></a>
+<a name="id710416"></a>
           <a href="powm1.html#math_toolkit.special.powers.powm1.accuracy">Accuracy</a>
         </h5>
 <p>
           Should have approximately 2-3 epsilon accuracy.
         </p>
 <a name="math_toolkit.special.powers.powm1.testing"></a><h5>
-<a name="id710303"></a>
+<a name="id710445"></a>
           <a href="powm1.html#math_toolkit.special.powers.powm1.testing">Testing</a>
         </h5>
 <p>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/sqrt1pm1.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/sqrt1pm1.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/powers/sqrt1pm1.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -76,7 +76,7 @@
           <span class="inlinemediaobject"><img src="../../../../graphs/sqrt1pm1.png" align="middle"></span>
         </p>
 <a name="math_toolkit.special.powers.sqrt1pm1.accuracy"></a><h5>
-<a name="id709705"></a>
+<a name="id709847"></a>
           <a href="sqrt1pm1.html#math_toolkit.special.powers.sqrt1pm1.accuracy">Accuracy</a>
         </h5>
 <p>
@@ -84,7 +84,7 @@
           should have approximately 3 epsilon accuracy.
         </p>
 <a name="math_toolkit.special.powers.sqrt1pm1.testing"></a><h5>
-<a name="id709747"></a>
+<a name="id709889"></a>
           <a href="sqrt1pm1.html#math_toolkit.special.powers.sqrt1pm1.testing">Testing</a>
         </h5>
 <p>

Added: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/rounding.html
==============================================================================
--- (empty file)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/rounding.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -0,0 +1,51 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Rounding Truncation and Integer Conversion</title>
+<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
+<link rel="start" href="../../index.html" title="Math Toolkit">
+<link rel="up" href="../special.html" title="Special Functions">
+<link rel="prev" href="inv_hyper/atanh.html" title="atanh">
+<link rel="next" href="rounding/round.html" title="Rounding Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<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">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="inv_hyper/atanh.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="rounding/round.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.special.rounding"></a><a href="rounding.html" title="Rounding Truncation and Integer Conversion"> Rounding Truncation and
+ Integer Conversion</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"> Rounding Functions</span></dt>
+<dt><span class="section"> Truncation Functions</span></dt>
+<dt><span class="section"><a href="rounding/modf.html"> Integer and Fractional
+ Part Splitting (modf)</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2006 , 2007, 2008 John Maddock, Paul A. Bristow, Hubert
+ Holin, Xiaogang Zhang and Bruno Lalande<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="inv_hyper/atanh.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="rounding/round.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/rounding/modf.html
==============================================================================
--- (empty file)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/rounding/modf.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -0,0 +1,85 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Integer and Fractional Part Splitting (modf)</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
+<link rel="start" href="../../../index.html" title="Math Toolkit">
+<link rel="up" href="../rounding.html" title="Rounding Truncation and Integer Conversion">
+<link rel="prev" href="trunc.html" title="Truncation Functions">
+<link rel="next" href="../fpclass.html" title="Floating-Point Classification: Infinities and NaN's">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<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">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="trunc.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../rounding.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../fpclass.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.special.rounding.modf"></a><a href="modf.html" title="Integer and Fractional Part Splitting (modf)"> Integer and Fractional
+ Part Splitting (modf)</a>
+</h4></div></div></div>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">modf</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<p>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">modf</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">ipart</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">modf</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">ipart</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">modf</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">int</span><span class="special">*</span> <span class="identifier">ipart</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">modf</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">int</span><span class="special">*</span> <span class="identifier">ipart</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">modf</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">long</span><span class="special">*</span> <span class="identifier">ipart</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">modf</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">long</span><span class="special">*</span> <span class="identifier">ipart</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">modf</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">long</span><span class="special">*</span> <span class="identifier">ipart</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">modf</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">long</span><span class="special">*</span> <span class="identifier">ipart</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
+</pre>
+<p>
+ The <code class="computeroutput"><span class="identifier">modf</span></code> functions store
+ the integer part of <span class="emphasis"><em>v</em></span> in <code class="computeroutput"><span class="special">*</span><span class="identifier">ipart</span></code> and return the fractional part
+ of <span class="emphasis"><em>v</em></span>.
+ </p>
+<p>
+ If the argument <span class="emphasis"><em>v</em></span> is either non-finite or else outside
+ the range of the result type, then returns the result of rounding_error:
+ by default this throws an instance of boost::math::rounding_error.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2006 , 2007, 2008 John Maddock, Paul A. Bristow, Hubert
+ Holin, Xiaogang Zhang and Bruno Lalande<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="trunc.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../rounding.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../fpclass.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/rounding/round.html
==============================================================================
--- (empty file)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/rounding/round.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -0,0 +1,86 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Rounding Functions</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
+<link rel="start" href="../../../index.html" title="Math Toolkit">
+<link rel="up" href="../rounding.html" title="Rounding Truncation and Integer Conversion">
+<link rel="prev" href="../rounding.html" title="Rounding Truncation and Integer Conversion">
+<link rel="next" href="trunc.html" title="Truncation Functions">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<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">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../rounding.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../rounding.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="trunc.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.special.rounding.round"></a> Rounding Functions
+</h4></div></div></div>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">round</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<p>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">round</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">round</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">int</span> <span class="identifier">iround</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="keyword">int</span> <span class="identifier">iround</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">long</span> <span class="identifier">lround</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="keyword">long</span> <span class="identifier">lround</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llround</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">llround</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
+</pre>
+<p>
+ These functions return the closest integer to the argument <span class="emphasis"><em>v</em></span>.
+ </p>
+<p>
+ Halfway cases are rounded away from zero, regardless of the current rounding
+ direction.
+ </p>
+<p>
+ If the argument <span class="emphasis"><em>v</em></span> is either non-finite or else outside
+ the range of the result type, then returns the result of rounding_error:
+ by default this throws an instance of boost::math::rounding_error.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2006 , 2007, 2008 John Maddock, Paul A. Bristow, Hubert
+ Holin, Xiaogang Zhang and Bruno Lalande<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../rounding.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../rounding.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="trunc.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/rounding/trunc.html
==============================================================================
--- (empty file)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/rounding/trunc.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Truncation Functions</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
+<link rel="start" href="../../../index.html" title="Math Toolkit">
+<link rel="up" href="../rounding.html" title="Rounding Truncation and Integer Conversion">
+<link rel="prev" href="round.html" title="Rounding Functions">
+<link rel="next" href="modf.html" title="Integer and Fractional Part Splitting (modf)">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<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">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="round.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../rounding.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="modf.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.special.rounding.trunc"></a> Truncation Functions
+</h4></div></div></div>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">trunc</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></pre>
+<p>
+ </p>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">trunc</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="identifier">T</span> <span class="identifier">trunc</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">int</span> <span class="identifier">itrunc</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="keyword">int</span> <span class="identifier">itrunc</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">long</span> <span class="identifier">ltrunc</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="keyword">long</span> <span class="identifier">ltrunc</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">lltrunc</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Policy</span><span class="special">&gt;</span>
+<span class="keyword">long</span> <span class="keyword">long</span> <span class="identifier">lltrunc</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Policy</span><span class="special">&amp;);</span>
+</pre>
+<p>
+ The trunc functions round their argument to the integer value, nearest
+ to but no larger in magnitude than the argument.
+ </p>
+<p>
+ For example <code class="computeroutput"><span class="identifier">itrunc</span><span class="special">(</span><span class="number">3.7</span><span class="special">)</span></code> would
+ return <code class="computeroutput"><span class="number">3</span></code> and <code class="computeroutput"><span class="identifier">ltrunc</span><span class="special">(-</span><span class="number">4.6</span><span class="special">)</span></code> would
+ return <code class="computeroutput"><span class="special">-</span><span class="number">4</span></code>.
+ </p>
+<p>
+ If the argument <span class="emphasis"><em>v</em></span> is either non-finite or else outside
+ the range of the result type, then returns the result of rounding_error:
+ by default this throws an instance of boost::math::rounding_error.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2006 , 2007, 2008 John Maddock, Paul A. Bristow, Hubert
+ Holin, Xiaogang Zhang and Bruno Lalande<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="round.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../rounding.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="modf.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_erf/error_function.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_erf/error_function.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_erf/error_function.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -572,22 +572,18 @@
 <p>
           For <code class="computeroutput"><span class="identifier">z</span> <span class="special">&lt;=</span>
           <span class="number">0.5</span></code> then a rational approximation
- to erf is used, based on the observation that:
+ to erf is used, based on the observation that erf is an odd function and
+ therefore erf is calculated using:
         </p>
-<pre class="programlisting"><span class="identifier">erf</span><span class="special">(</span><span class="identifier">z</span><span class="special">)/</span><span class="identifier">z</span> <span class="special">~</span> <span class="number">1.12</span><span class="special">....</span>
+<pre class="programlisting"><span class="identifier">erf</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">z</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">C</span> <span class="special">+</span> <span class="identifier">R</span><span class="special">(</span><span class="identifier">z</span><span class="special">*</span><span class="identifier">z</span><span class="special">));</span>
 </pre>
 <p>
- Therefore erf is calculated using:
- </p>
-<pre class="programlisting"><span class="identifier">erf</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">z</span> <span class="special">*</span> <span class="special">(</span><span class="number">1.125F</span> <span class="special">+</span> <span class="identifier">R</span><span class="special">(</span><span class="identifier">z</span><span class="special">));</span>
-</pre>
-<p>
- where the rational approximation R(z) is optimised for absolute error:
- as long as its absolute error is small enough compared to 1.125, then any
- round-off error incurred during the computation of R(z) will effectively
- disappear from the result. As a result the error for erf and erfc in this
- region is very low: the last bit is incorrect in only a very small number
- of cases.
+ where the rational approximation R(z*z) is optimised for absolute error:
+ as long as its absolute error is small enough compared to the constant
+ C, then any round-off error incurred during the computation of R(z*z) will
+ effectively disappear from the result. As a result the error for erf and
+ erfc in this region is very low: the last bit is incorrect in only a very
+ small number of cases.
         </p>
 <p>
           For <code class="computeroutput"><span class="identifier">z</span> <span class="special">&gt;</span>
@@ -603,18 +599,27 @@
           Therefore for <code class="computeroutput"><span class="identifier">z</span> <span class="special">&gt;</span>
           <span class="number">0.5</span></code> we calculate erfc using:
         </p>
-<pre class="programlisting"><span class="identifier">erfc</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">exp</span><span class="special">(-</span><span class="identifier">z</span><span class="special">*</span><span class="identifier">z</span><span class="special">)</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">c</span> <span class="special">+</span> <span class="identifier">R</span><span class="special">(</span><span class="identifier">z</span><span class="special">))</span> <span class="special">/</span> <span class="identifier">z</span><span class="special">;</span>
+<pre class="programlisting"><span class="identifier">erfc</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">exp</span><span class="special">(-</span><span class="identifier">z</span><span class="special">*</span><span class="identifier">z</span><span class="special">)</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">C</span> <span class="special">+</span> <span class="identifier">R</span><span class="special">(</span><span class="identifier">z</span> <span class="special">-</span> <span class="identifier">B</span><span class="special">))</span> <span class="special">/</span> <span class="identifier">z</span><span class="special">;</span>
 </pre>
 <p>
- Again R(z) is optimised for absolute error, and the constant <code class="computeroutput"><span class="identifier">c</span></code> is the average of <code class="computeroutput"><span class="identifier">erfc</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span>
+ Again R(z - B) is optimised for absolute error, and the constant <code class="computeroutput"><span class="identifier">C</span></code> is the average of <code class="computeroutput"><span class="identifier">erfc</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span>
           <span class="special">*</span> <span class="identifier">exp</span><span class="special">(</span><span class="identifier">z</span><span class="special">*</span><span class="identifier">z</span><span class="special">)</span> <span class="special">*</span>
           <span class="identifier">z</span></code> taken at the endpoints of the
- range. Once again, as long as the absolute error in R(z) is small compared
- to <code class="computeroutput"><span class="identifier">c</span></code> then <code class="computeroutput"><span class="identifier">c</span> <span class="special">+</span> <span class="identifier">R</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span></code> will be correctly rounded, and the error
+ range. Once again, as long as the absolute error in R(z - B) is small compared
+ to <code class="computeroutput"><span class="identifier">c</span></code> then <code class="computeroutput"><span class="identifier">c</span> <span class="special">+</span> <span class="identifier">R</span><span class="special">(</span><span class="identifier">z</span>
+ <span class="special">-</span> <span class="identifier">B</span><span class="special">)</span></code> will be correctly rounded, and the error
           in the result will depend only on the accuracy of the exp function. In
           practice, in all but a very small number of cases, the error is confined
- to the last bit of the result.
+ to the last bit of the result. The constant <code class="computeroutput"><span class="identifier">B</span></code>
+ is chosen so that the left hand end of the range of the rational approximation
+ is 0.
         </p>
+<p>
+ For large <code class="computeroutput"><span class="identifier">z</span></code> over a range
+ [a, +&#8734;] the above approximation is modified to:
+ </p>
+<pre class="programlisting"><span class="identifier">erfc</span><span class="special">(</span><span class="identifier">z</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">exp</span><span class="special">(-</span><span class="identifier">z</span><span class="special">*</span><span class="identifier">z</span><span class="special">)</span> <span class="special">*</span> <span class="special">(</span><span class="identifier">C</span> <span class="special">+</span> <span class="identifier">R</span><span class="special">(</span><span class="number">1</span> <span class="special">/</span> <span class="identifier">z</span><span class="special">))</span> <span class="special">/</span> <span class="identifier">z</span><span class="special">;</span>
+</pre>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_erf/error_inv.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_erf/error_inv.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_erf/error_inv.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -28,7 +28,7 @@
         Inverses</a>
 </h4></div></div></div>
 <a name="math_toolkit.special.sf_erf.error_inv.synopsis"></a><h5>
-<a name="id667597"></a>
+<a name="id667755"></a>
           <a href="error_inv.html#math_toolkit.special.sf_erf.error_inv.synopsis">Synopsis</a>
         </h5>
 <p>
@@ -69,7 +69,7 @@
 <p>
         </p>
 <a name="math_toolkit.special.sf_erf.error_inv.description"></a><h5>
-<a name="id668144"></a>
+<a name="id668301"></a>
           <a href="error_inv.html#math_toolkit.special.sf_erf.error_inv.description">Description</a>
         </h5>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
@@ -103,7 +103,7 @@
           <span class="inlinemediaobject"><img src="../../../../graphs/erfc_inv.png" align="middle"></span>
         </p>
 <a name="math_toolkit.special.sf_erf.error_inv.accuracy"></a><h5>
-<a name="id668689"></a>
+<a name="id668846"></a>
           <a href="error_inv.html#math_toolkit.special.sf_erf.error_inv.accuracy">Accuracy</a>
         </h5>
 <p>
@@ -113,7 +113,7 @@
           error functions</a>.
         </p>
 <a name="math_toolkit.special.sf_erf.error_inv.testing"></a><h5>
-<a name="id668730"></a>
+<a name="id668886"></a>
           <a href="error_inv.html#math_toolkit.special.sf_erf.error_inv.testing">Testing</a>
         </h5>
 <p>
@@ -135,7 +135,7 @@
           </li>
 </ul></div>
 <a name="math_toolkit.special.sf_erf.error_inv.implementation"></a><h5>
-<a name="id668797"></a>
+<a name="id668953"></a>
           <a href="error_inv.html#math_toolkit.special.sf_erf.error_inv.implementation">Implementation</a>
         </h5>
 <p>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/hermite.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/hermite.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/hermite.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -27,7 +27,7 @@
 <a name="math_toolkit.special.sf_poly.hermite"></a> Hermite Polynomials
 </h4></div></div></div>
 <a name="math_toolkit.special.sf_poly.hermite.synopsis"></a><h5>
-<a name="id677070"></a>
+<a name="id677225"></a>
           <a href="hermite.html#math_toolkit.special.sf_poly.hermite.synopsis">Synopsis</a>
         </h5>
 <p>
@@ -51,7 +51,7 @@
 <span class="special">}}</span> <span class="comment">// namespaces
 </span></pre>
 <a name="math_toolkit.special.sf_poly.hermite.description"></a><h5>
-<a name="id677577"></a>
+<a name="id677731"></a>
           <a href="hermite.html#math_toolkit.special.sf_poly.hermite.description">Description</a>
         </h5>
 <p>
@@ -136,7 +136,7 @@
 </dl>
 </div>
 <a name="math_toolkit.special.sf_poly.hermite.accuracy"></a><h5>
-<a name="id678589"></a>
+<a name="id678743"></a>
           <a href="hermite.html#math_toolkit.special.sf_poly.hermite.accuracy">Accuracy</a>
         </h5>
 <p>
@@ -146,7 +146,7 @@
           zero error</a>.
         </p>
 <div class="table">
-<a name="id678620"></a><p class="title"><b>Table 33. Peak Errors In the Hermite Polynomial</b></p>
+<a name="id678774"></a><p class="title"><b>Table 33. Peak Errors In the Hermite Polynomial</b></p>
 <div class="table-contents"><table class="table" summary="Peak Errors In the Hermite Polynomial">
 <colgroup>
 <col>
@@ -253,7 +253,7 @@
           is very close to a root.
         </p>
 <a name="math_toolkit.special.sf_poly.hermite.testing"></a><h5>
-<a name="id678796"></a>
+<a name="id678951"></a>
           <a href="hermite.html#math_toolkit.special.sf_poly.hermite.testing">Testing</a>
         </h5>
 <p>
@@ -263,7 +263,7 @@
           precision.
         </p>
 <a name="math_toolkit.special.sf_poly.hermite.implementation"></a><h5>
-<a name="id678835"></a>
+<a name="id678989"></a>
           <a href="hermite.html#math_toolkit.special.sf_poly.hermite.implementation">Implementation</a>
         </h5>
 <p>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/laguerre.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/laguerre.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/laguerre.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -28,7 +28,7 @@
         Associated) Polynomials</a>
 </h4></div></div></div>
 <a name="math_toolkit.special.sf_poly.laguerre.synopsis"></a><h5>
-<a name="id673649"></a>
+<a name="id673804"></a>
           <a href="laguerre.html#math_toolkit.special.sf_poly.laguerre.synopsis">Synopsis</a>
         </h5>
 <p>
@@ -62,7 +62,7 @@
 <span class="special">}}</span> <span class="comment">// namespaces
 </span></pre>
 <a name="math_toolkit.special.sf_poly.laguerre.description"></a><h5>
-<a name="id674566"></a>
+<a name="id674721"></a>
           <a href="laguerre.html#math_toolkit.special.sf_poly.laguerre.description">Description</a>
         </h5>
 <p>
@@ -210,7 +210,7 @@
 </dl>
 </div>
 <a name="math_toolkit.special.sf_poly.laguerre.accuracy"></a><h5>
-<a name="id676604"></a>
+<a name="id676759"></a>
           <a href="laguerre.html#math_toolkit.special.sf_poly.laguerre.accuracy">Accuracy</a>
         </h5>
 <p>
@@ -220,7 +220,7 @@
           zero error</a>.
         </p>
 <div class="table">
-<a name="id676635"></a><p class="title"><b>Table 31. Peak Errors In the Laguerre Polynomial</b></p>
+<a name="id676790"></a><p class="title"><b>Table 31. Peak Errors In the Laguerre Polynomial</b></p>
 <div class="table-contents"><table class="table" summary="Peak Errors In the Laguerre Polynomial">
 <colgroup>
 <col>
@@ -320,7 +320,7 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id676800"></a><p class="title"><b>Table 32. Peak Errors In the Associated Laguerre
+<a name="id676955"></a><p class="title"><b>Table 32. Peak Errors In the Associated Laguerre
         Polynomial</b></p>
 <div class="table-contents"><table class="table" summary="Peak Errors In the Associated Laguerre
         Polynomial">
@@ -429,7 +429,7 @@
           is very close to a root.
         </p>
 <a name="math_toolkit.special.sf_poly.laguerre.testing"></a><h5>
-<a name="id676977"></a>
+<a name="id677132"></a>
           <a href="laguerre.html#math_toolkit.special.sf_poly.laguerre.testing">Testing</a>
         </h5>
 <p>
@@ -439,7 +439,7 @@
           precision.
         </p>
 <a name="math_toolkit.special.sf_poly.laguerre.implementation"></a><h5>
-<a name="id677016"></a>
+<a name="id677171"></a>
           <a href="laguerre.html#math_toolkit.special.sf_poly.laguerre.implementation">Implementation</a>
         </h5>
 <p>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/legendre.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/legendre.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/legendre.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -28,7 +28,7 @@
         Associated) Polynomials</a>
 </h4></div></div></div>
 <a name="math_toolkit.special.sf_poly.legendre.synopsis"></a><h5>
-<a name="id669318"></a>
+<a name="id669474"></a>
           <a href="legendre.html#math_toolkit.special.sf_poly.legendre.synopsis">Synopsis</a>
         </h5>
 <p>
@@ -84,7 +84,7 @@
 <p>
         </p>
 <a name="math_toolkit.special.sf_poly.legendre.description"></a><h5>
-<a name="id670494"></a>
+<a name="id670651"></a>
           <a href="legendre.html#math_toolkit.special.sf_poly.legendre.description">Description</a>
         </h5>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
@@ -292,7 +292,7 @@
 </dl>
 </div>
 <a name="math_toolkit.special.sf_poly.legendre.accuracy"></a><h5>
-<a name="id672942"></a>
+<a name="id673098"></a>
           <a href="legendre.html#math_toolkit.special.sf_poly.legendre.accuracy">Accuracy</a>
         </h5>
 <p>
@@ -302,7 +302,7 @@
           zero error</a>.
         </p>
 <div class="table">
-<a name="id672973"></a><p class="title"><b>Table 28. Peak Errors In the Legendre P Function</b></p>
+<a name="id673129"></a><p class="title"><b>Table 28. Peak Errors In the Legendre P Function</b></p>
 <div class="table-contents"><table class="table" summary="Peak Errors In the Legendre P Function">
 <colgroup>
 <col>
@@ -431,7 +431,7 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id673171"></a><p class="title"><b>Table 29. Peak Errors In the Associated Legendre
+<a name="id673327"></a><p class="title"><b>Table 29. Peak Errors In the Associated Legendre
         P Function</b></p>
 <div class="table-contents"><table class="table" summary="Peak Errors In the Associated Legendre
         P Function">
@@ -533,7 +533,7 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id673329"></a><p class="title"><b>Table 30. Peak Errors In the Legendre Q Function</b></p>
+<a name="id673485"></a><p class="title"><b>Table 30. Peak Errors In the Legendre Q Function</b></p>
 <div class="table-contents"><table class="table" summary="Peak Errors In the Legendre Q Function">
 <colgroup>
 <col>
@@ -675,7 +675,7 @@
           given here.
         </p>
 <a name="math_toolkit.special.sf_poly.legendre.testing"></a><h5>
-<a name="id673555"></a>
+<a name="id673711"></a>
           <a href="legendre.html#math_toolkit.special.sf_poly.legendre.testing">Testing</a>
         </h5>
 <p>
@@ -685,7 +685,7 @@
           precision.
         </p>
 <a name="math_toolkit.special.sf_poly.legendre.implementation"></a><h5>
-<a name="id673594"></a>
+<a name="id673750"></a>
           <a href="legendre.html#math_toolkit.special.sf_poly.legendre.implementation">Implementation</a>
         </h5>
 <p>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/sph_harm.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/sph_harm.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_poly/sph_harm.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -27,7 +27,7 @@
 <a name="math_toolkit.special.sf_poly.sph_harm"></a> Spherical Harmonics
 </h4></div></div></div>
 <a name="math_toolkit.special.sf_poly.sph_harm.synopsis"></a><h5>
-<a name="id678890"></a>
+<a name="id679044"></a>
           <a href="sph_harm.html#math_toolkit.special.sf_poly.sph_harm.synopsis">Synopsis</a>
         </h5>
 <p>
@@ -60,7 +60,7 @@
 <span class="special">}}</span> <span class="comment">// namespaces
 </span></pre>
 <a name="math_toolkit.special.sf_poly.sph_harm.description"></a><h5>
-<a name="id680015"></a>
+<a name="id680169"></a>
           <a href="sph_harm.html#math_toolkit.special.sf_poly.sph_harm.description">Description</a>
         </h5>
 <p>
@@ -155,7 +155,7 @@
           <span class="inlinemediaobject"><img src="../../../../equations/spherical_2.png"></span>
         </p>
 <a name="math_toolkit.special.sf_poly.sph_harm.accuracy"></a><h5>
-<a name="id681277"></a>
+<a name="id681441"></a>
           <a href="sph_harm.html#math_toolkit.special.sf_poly.sph_harm.accuracy">Accuracy</a>
         </h5>
 <p>
@@ -170,7 +170,7 @@
           All values are in units of epsilon.
         </p>
 <div class="table">
-<a name="id681316"></a><p class="title"><b>Table 34. Peak Errors In the Sperical Harmonic Functions</b></p>
+<a name="id681481"></a><p class="title"><b>Table 34. Peak Errors In the Sperical Harmonic Functions</b></p>
 <div class="table-contents"><table class="table" summary="Peak Errors In the Sperical Harmonic Functions">
 <colgroup>
 <col>
@@ -276,7 +276,7 @@
           arbitrarily large when the function is very close to a root.
         </p>
 <a name="math_toolkit.special.sf_poly.sph_harm.testing"></a><h5>
-<a name="id681496"></a>
+<a name="id681660"></a>
           <a href="sph_harm.html#math_toolkit.special.sf_poly.sph_harm.testing">Testing</a>
         </h5>
 <p>
@@ -286,7 +286,7 @@
           precision.
         </p>
 <a name="math_toolkit.special.sf_poly.sph_harm.implementation"></a><h5>
-<a name="id681534"></a>
+<a name="id681699"></a>
           <a href="sph_harm.html#math_toolkit.special.sf_poly.sph_harm.implementation">Implementation</a>
         </h5>
 <p>

Added: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/zetas.html
==============================================================================
--- (empty file)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/zetas.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -0,0 +1,45 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Zeta Functions</title>
+<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
+<link rel="start" href="../../index.html" title="Math Toolkit">
+<link rel="up" href="../special.html" title="Special Functions">
+<link rel="prev" href="ellint/ellint_3.html" title="Elliptic Integrals of the Third Kind - Legendre Form">
+<link rel="next" href="zetas/zeta.html" title="Riemann Zeta Function">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<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">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ellint/ellint_3.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="zetas/zeta.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.special.zetas"></a> Zeta Functions
+</h3></div></div></div>
+<div class="toc"><dl><dt><span class="section"> Riemann Zeta Function</span></dt></dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2006 , 2007, 2008 John Maddock, Paul A. Bristow, Hubert
+ Holin, Xiaogang Zhang and Bruno Lalande<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ellint/ellint_3.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../special.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="zetas/zeta.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/zetas/zeta.html
==============================================================================
--- (empty file)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/zetas/zeta.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -0,0 +1,332 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Riemann Zeta Function</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
+<link rel="start" href="../../../index.html" title="Math Toolkit">
+<link rel="up" href="../zetas.html" title="Zeta Functions">
+<link rel="prev" href="../zetas.html" title="Zeta Functions">
+<link rel="next" href="../expint.html" title="Exponential Integrals">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<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">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../zetas.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../zetas.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../expint.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="math_toolkit.special.zetas.zeta"></a> Riemann Zeta Function
+</h4></div></div></div>
+<a name="math_toolkit.special.zetas.zeta.synopsis"></a><h5>
+<a name="id703326"></a>
+ Synopsis
+ </h5>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">zeta</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+</pre>
+<p>
+ </p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+calculated-result-type <span class="identifier">zeta</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> Policy<span class="special">&gt;</span>
+calculated-result-type <span class="identifier">zeta</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> Policy<span class="special">&amp;);</span>
+
+<span class="special">}}</span> <span class="comment">// namespaces
+</span></pre>
+<p>
+ The return type of these functions is computed using the <a href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
+ type calculation rules</em></span></a>: the return type is <code class="computeroutput"><span class="keyword">double</span></code> if T is an integer type, and T otherwise.
+ </p>
+<p>
+ </p>
+<p>
+ The final Policy argument
+ is optional and can be used to control the behaviour of the function:
+ how it handles errors, what level of precision to use etc. Refer to the
+ policy documentation for more details.
+ </p>
+<p>
+ </p>
+<a name="math_toolkit.special.zetas.zeta.description"></a><h5>
+<a name="id703701"></a>
+ Description
+ </h5>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
+calculated-result-type <span class="identifier">zeta</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">);</span>
+
+<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> Policy<span class="special">&gt;</span>
+calculated-result-type <span class="identifier">zeta</span><span class="special">(</span><span class="identifier">T</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">const</span> Policy<span class="special">&amp;);</span>
+</pre>
+<p>
+ Returns the <a href="http://mathworld.wolfram.com/RiemannZetaFunction.html" target="_top">zeta
+ function</a> of z:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/zeta1.png"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/zeta1.png" align="middle"></span>
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../graphs/zeta2.png" align="middle"></span>
+ </p>
+<a name="math_toolkit.special.zetas.zeta.accuracy"></a><h5>
+<a name="id704012"></a>
+ Accuracy
+ </h5>
+<p>
+ The following table shows the peak errors (in units of epsilon) found on
+ various platforms with various floating point types, along with comparisons
+ to the GSL-1.9 and
+ Cephes libraries. Unless
+ otherwise specified any floating point type that is narrower than the one
+ shown will have effectively zero error.
+ </p>
+<div class="table">
+<a name="id704058"></a><p class="title"><b>Table 43. Errors In the Function zeta(z)</b></p>
+<div class="table-contents"><table class="table" summary="Errors In the Function zeta(z)">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Significand Size
+ </p>
+ </th>
+<th>
+ <p>
+ Platform and Compiler
+ </p>
+ </th>
+<th>
+ <p>
+ z &gt; 0
+ </p>
+ </th>
+<th>
+ <p>
+ z &lt; 0
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 53
+ </p>
+ </td>
+<td>
+ <p>
+ Win32, Visual C++ 8
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.99 Mean=0.1
+ </p>
+ <p>
+ GSL Peak=8.7 Mean=1.0
+ </p>
+ <p>
+ Cephes Peak=2.1
+ Mean=1.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=7.1 Mean=3.0
+ </p>
+ <p>
+ GSL Peak=137 Mean=14
+ </p>
+ <p>
+ Cephes Peak=5084
+ Mean=470
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ RedHat Linux IA_EM64, gcc-4.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.99 Mean=0.5
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=570 Mean=60
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 64
+ </p>
+ </td>
+<td>
+ <p>
+ Redhat Linux IA64, gcc-4.1
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=0.99 Mean=0.5
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=559 Mean=56
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 113
+ </p>
+ </td>
+<td>
+ <p>
+ HPUX IA64, aCC A.06.06
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=1.0 Mean=0.4
+ </p>
+ </td>
+<td>
+ <p>
+ Peak=1018 Mean=79
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><a name="math_toolkit.special.zetas.zeta.testing"></a><h5>
+<a name="id704286"></a>
+ Testing
+ </h5>
+<p>
+ The tests for these functions come in two parts: basic sanity checks use
+ spot values calculated using <a href="http://functions.wolfram.com/webMathematica/FunctionEvaluation.jsp?name=Zeta" target="_top">Mathworld's
+ online evaluator</a>, while accuracy checks use high-precision test
+ values calculated at 1000-bit precision with NTL::RR
+ and this implementation. Note that the generic and type-specific versions
+ of these functions use differing implementations internally, so this gives
+ us reasonably independent test data. Using our test data to test other
+ "known good" implementations also provides an additional sanity
+ check.
+ </p>
+<a name="math_toolkit.special.zetas.zeta.implementation"></a><h5>
+<a name="id704338"></a>
+ Implementation
+ </h5>
+<p>
+ All versions of these functions first use the usual reflection formulas
+ to make their arguments positive:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/zeta3.png"></span>
+ </p>
+<p>
+ The generic versions of these functions are implemented using the series:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/zeta1.png"></span>
+ </p>
+<p>
+ for large z, and using the globally convergent series:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/zeta2.png"></span>
+ </p>
+<p>
+ In all other cases. The crossover point for these is chosen so that the
+ first series is used only if it will converge reasonably quickly, the problem
+ with this series is that convergence become slower the more terms you take,
+ so we really do have to be certain of convergence before using this series,
+ even though the alternative is often quite slow.
+ </p>
+<p>
+ When the significand (mantissa) size is recognised (currently for 53, 64
+ and 113-bit reals, plus single-precision 24-bit handled via promotion to
+ double) then a series of rational approximations <a href="../../backgrounders/implementation.html#math_toolkit.backgrounders.implementation.rational_approximations_used">devised
+ by JM</a> are used.
+ </p>
+<p>
+ For 0 &lt; z &lt; 1 the approximating form is:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/zeta4.png"></span>
+ </p>
+<p>
+ For a rational approximation R(1-z) and a constant C.
+ </p>
+<p>
+ For 1 &lt; z &lt; 4 the approximating form is:
+ </p>
+<p>
+ <span class="inlinemediaobject"><img src="../../../../equations/zeta5.png"></span>
+ </p>
+<p>
+ For a rational approximation R(n-z) and a constant C and integer n.
+ </p>
+<p>
+ For z &gt; 4 the approximating form is:
+ </p>
+<p>
+ &#950;(z) = 1 + e<sup>R(z - n)</sup>
+ </p>
+<p>
+ For a rational approximation R(z-n) and integer n, note that the accuracy
+ required for R(z-n) is not full machine precision, but an absolute error
+ of: &#949;/R(0). This saves us quite a few digits when dealing with large z,
+ especially when &#949; is small.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2006 , 2007, 2008 John Maddock, Paul A. Bristow, Hubert
+ Holin, Xiaogang Zhang and Bruno Lalande<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../zetas.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../zetas.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../expint.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/status/compilers.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/status/compilers.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/status/compilers.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -37,7 +37,7 @@
 <p>
         </p>
 <div class="table">
-<a name="id813292"></a><p class="title"><b>Table 54. Supported/Tested Compilers</b></p>
+<a name="id813658"></a><p class="title"><b>Table 54. Supported/Tested Compilers</b></p>
 <div class="table-contents"><table class="table" summary="Supported/Tested Compilers">
 <colgroup>
 <col>
@@ -540,7 +540,7 @@
 </div>
 <p><br class="table-break"> </p>
 <div class="table">
-<a name="id814085"></a><p class="title"><b>Table 55. Unsupported Compilers</b></p>
+<a name="id814456"></a><p class="title"><b>Table 55. Unsupported Compilers</b></p>
 <div class="table-contents"><table class="table" summary="Unsupported Compilers">
 <colgroup>
 <col>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/status/credits.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/status/credits.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/status/credits.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -63,10 +63,10 @@
 <p>
         Plots of the functions and distributions were prepared in W3C
         standard Scalable Vector Graphic (SVG)
- format using a program created by Jacob Voytko during a Google 'Summer of
- Code'. Since browser support for rendering SVG is still not universal (Microsoft
- Internet Explorer, even IE 8 beta, still lacks native SVG support but can
- be made to work with <a href="http://www.adobe.com/svg/viewer/install/" target="_top">Adobe's
+ format using a program created by Jacob Voytko during a <a href="http://code.google.com/soc/2007/" target="_top">Google
+ Summer of Code (2007)</a>. Since browser support for rendering SVG is
+ still not universal (Microsoft Internet Explorer, even IE 8 beta, still lacks
+ native SVG support but can be made to work with <a href="http://www.adobe.com/svg/viewer/install/" target="_top">Adobe's
         free SVG viewer</a> plugin), so the SVG files were batch converted to
         JPEG using Inkscape.
       </p>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/status/history1.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/status/history1.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/status/history1.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -30,7 +30,7 @@
         <a name="math_toolkit.status.history1.boost_1_36_0"></a>
         </p>
 <h5>
-<a name="id812846"></a>
+<a name="id813212"></a>
           <a href="history1.html#math_toolkit.status.history1.boost_1_36_0">Boost-1.36.0</a>
         </h5>
 <p>
@@ -65,7 +65,7 @@
         <a name="math_toolkit.status.history1.boost_1_35_0__post_review_first_official_release"></a>
         </p>
 <h5>
-<a name="id812913"></a>
+<a name="id813280"></a>
           <a href="history1.html#math_toolkit.status.history1.boost_1_35_0__post_review_first_official_release">Boost-1.35.0:
           Post Review First Official Release</a>
         </h5>
@@ -102,7 +102,7 @@
         <a name="math_toolkit.status.history1.milestone_4__second_review_candidate__1st_march_2007_"></a>
         </p>
 <h5>
-<a name="id813016"></a>
+<a name="id813383"></a>
           <a href="history1.html#math_toolkit.status.history1.milestone_4__second_review_candidate__1st_march_2007_">Milestone
           4: Second Review Candidate (1st March 2007)</a>
         </h5>
@@ -121,7 +121,7 @@
         <a name="math_toolkit.status.history1.milestone_3__first_review_candidate__31st_dec_2006_"></a>
         </p>
 <h5>
-<a name="id813057"></a>
+<a name="id813424"></a>
           <a href="history1.html#math_toolkit.status.history1.milestone_3__first_review_candidate__31st_dec_2006_">Milestone
           3: First Review Candidate (31st Dec 2006)</a>
         </h5>
@@ -154,7 +154,7 @@
         <a name="math_toolkit.status.history1.milestone_2__released_september_10th_2006"></a>
         </p>
 <h5>
-<a name="id813123"></a>
+<a name="id813490"></a>
           <a href="history1.html#math_toolkit.status.history1.milestone_2__released_september_10th_2006">Milestone
           2: Released September 10th 2006</a>
         </h5>
@@ -195,7 +195,7 @@
         <a name="math_toolkit.status.history1.milestone_1__released_march_31st_2006"></a>
         </p>
 <h5>
-<a name="id813200"></a>
+<a name="id813567"></a>
           <a href="history1.html#math_toolkit.status.history1.milestone_1__released_march_31st_2006">Milestone
           1: Released March 31st 2006</a>
         </h5>
@@ -230,7 +230,7 @@
 <p>
         </p>
 <p>
- Sandbox and trunk last synchonised at revision: 44092.
+ Sandbox and trunk last synchonised at revision: 44694.
         </p>
 <p>
       </p>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/status/issues.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/status/issues.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/status/issues.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -43,7 +43,7 @@
         with it.
       </p>
 <a name="math_toolkit.status.issues.tgamma"></a><h5>
-<a name="id814269"></a>
+<a name="id814640"></a>
         <a href="issues.html#math_toolkit.status.issues.tgamma">tgamma</a>
       </h5>
 <div class="itemizedlist"><ul type="disc"><li>
@@ -51,7 +51,7 @@
           be optimized any further? (low priority)
         </li></ul></div>
 <a name="math_toolkit.status.issues.incomplete_beta"></a><h5>
-<a name="id814311"></a>
+<a name="id814682"></a>
         <a href="issues.html#math_toolkit.status.issues.incomplete_beta">Incomplete Beta</a>
       </h5>
 <div class="itemizedlist"><ul type="disc"><li>
@@ -59,7 +59,7 @@
           (medium priority).
         </li></ul></div>
 <a name="math_toolkit.status.issues.inverse_gamma"></a><h5>
-<a name="id814344"></a>
+<a name="id814715"></a>
         <a href="issues.html#math_toolkit.status.issues.inverse_gamma">Inverse Gamma</a>
       </h5>
 <div class="itemizedlist"><ul type="disc"><li>
@@ -67,7 +67,7 @@
           is good enough (Medium Priority).
         </li></ul></div>
 <a name="math_toolkit.status.issues.polynomials"></a><h5>
-<a name="id814376"></a>
+<a name="id814748"></a>
         <a href="issues.html#math_toolkit.status.issues.polynomials">Polynomials</a>
       </h5>
 <div class="itemizedlist"><ul type="disc"><li>
@@ -77,7 +77,7 @@
           not (Low Priority).
         </li></ul></div>
 <a name="math_toolkit.status.issues.elliptic_integrals"></a><h5>
-<a name="id814413"></a>
+<a name="id814784"></a>
         <a href="issues.html#math_toolkit.status.issues.elliptic_integrals">Elliptic Integrals</a>
       </h5>
 <div class="itemizedlist"><ul type="disc">
@@ -127,7 +127,7 @@
         </li>
 </ul></div>
 <a name="math_toolkit.status.issues.inverse_hyperbolic_functions"></a><h5>
-<a name="id814571"></a>
+<a name="id814942"></a>
         <a href="issues.html#math_toolkit.status.issues.inverse_hyperbolic_functions">Inverse
         Hyperbolic Functions</a>
       </h5>
@@ -137,7 +137,7 @@
           is probably only an issue for very high precision types (Low Priority).
         </li></ul></div>
 <a name="math_toolkit.status.issues.statistical_distributions"></a><h5>
-<a name="id814616"></a>
+<a name="id814988"></a>
         <a href="issues.html#math_toolkit.status.issues.statistical_distributions">Statistical
         distributions</a>
       </h5>
@@ -146,7 +146,7 @@
           for very large degrees of freedom?
         </li></ul></div>
 <a name="math_toolkit.status.issues.feature_requests"></a><h5>
-<a name="id814651"></a>
+<a name="id815022"></a>
         <a href="issues.html#math_toolkit.status.issues.feature_requests">Feature Requests</a>
       </h5>
 <p>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
 <link rel="start" href="../index.html" title="Math Toolkit">
 <link rel="up" href="../index.html" title="Math Toolkit">
-<link rel="prev" href="special/fpclass.html" title="Floating Point Classification: Infinities and NaN's">
+<link rel="prev" href="special/fpclass.html" title="Floating-Point Classification: Infinities and NaN's">
 <link rel="next" href="toolkit/internals_overview.html" title="Overview">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/cf.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/cf.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/cf.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -28,7 +28,7 @@
         Evaluation</a>
 </h4></div></div></div>
 <a name="math_toolkit.toolkit.internals1.cf.synopsis"></a><h5>
-<a name="id722563"></a>
+<a name="id722948"></a>
           <a href="cf.html#math_toolkit.toolkit.internals1.cf.synopsis">Synopsis</a>
         </h5>
 <p>
@@ -59,7 +59,7 @@
 <span class="special">}}}</span> <span class="comment">// namespaces
 </span></pre>
 <a name="math_toolkit.toolkit.internals1.cf.description"></a><h5>
-<a name="id723284"></a>
+<a name="id723669"></a>
           <a href="cf.html#math_toolkit.toolkit.internals1.cf.description">Description</a>
         </h5>
 <p>
@@ -157,7 +157,7 @@
           a continued fraction for convergence.
         </p>
 <a name="math_toolkit.toolkit.internals1.cf.implementation"></a><h5>
-<a name="id723562"></a>
+<a name="id723947"></a>
           <a href="cf.html#math_toolkit.toolkit.internals1.cf.implementation">Implementation</a>
         </h5>
 <p>
@@ -167,7 +167,7 @@
           Lentz, W.J. 1976, Applied Optics, vol. 15, pp. 668-671.
         </p>
 <a name="math_toolkit.toolkit.internals1.cf.examples"></a><h5>
-<a name="id723596"></a>
+<a name="id723981"></a>
           <a href="cf.html#math_toolkit.toolkit.internals1.cf.examples">Examples</a>
         </h5>
 <p>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/minima.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/minima.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/minima.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -28,7 +28,7 @@
         Minima</a>
 </h4></div></div></div>
 <a name="math_toolkit.toolkit.internals1.minima.synopsis"></a><h5>
-<a name="id740279"></a>
+<a name="id740666"></a>
           <a href="minima.html#math_toolkit.toolkit.internals1.minima.synopsis">synopsis</a>
         </h5>
 <p>
@@ -45,7 +45,7 @@
 <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="identifier">brent_find_minima</span><span class="special">(</span><span class="identifier">F</span> <span class="identifier">f</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">min</span><span class="special">,</span> <span class="identifier">T</span> <span class="identifier">max</span><span class="special">,</span> <span class="keyword">int</span> <span class="identifier">bits</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uintmax_t</span><span class="special">&amp;</span> <span class="identifier">max_iter</span><span class="special">);</span>
 </pre>
 <a name="math_toolkit.toolkit.internals1.minima.description"></a><h5>
-<a name="id740749"></a>
+<a name="id741136"></a>
           <a href="minima.html#math_toolkit.toolkit.internals1.minima.description">Description</a>
         </h5>
 <p>
@@ -88,7 +88,7 @@
           the abscissa at the minima and the value of f(x) at the minima.
         </p>
 <a name="math_toolkit.toolkit.internals1.minima.implementation"></a><h5>
-<a name="id740888"></a>
+<a name="id741275"></a>
           <a href="minima.html#math_toolkit.toolkit.internals1.minima.implementation">Implementation</a>
         </h5>
 <p>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/rational.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/rational.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/rational.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -28,7 +28,7 @@
         and Rational Function Evaluation</a>
 </h4></div></div></div>
 <a name="math_toolkit.toolkit.internals1.rational.synopsis"></a><h5>
-<a name="id724578"></a>
+<a name="id724963"></a>
           <a href="rational.html#math_toolkit.toolkit.internals1.rational.synopsis">synopsis</a>
         </h5>
 <p>
@@ -79,7 +79,7 @@
 <span class="identifier">V</span> <span class="identifier">evaluate_rational</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">*</span> <span class="identifier">num</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">U</span><span class="special">*</span> <span class="identifier">denom</span><span class="special">,</span> <span class="identifier">V</span> <span class="identifier">z</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">count</span><span class="special">);</span>
 </pre>
 <a name="math_toolkit.toolkit.internals1.rational.description"></a><h5>
-<a name="id726703"></a>
+<a name="id727088"></a>
           <a href="rational.html#math_toolkit.toolkit.internals1.rational.description">Description</a>
         </h5>
 <p>
@@ -193,7 +193,7 @@
           evaluation with compile-time array sizes may offer slightly better performance.
         </p>
 <a name="math_toolkit.toolkit.internals1.rational.implementation"></a><h5>
-<a name="id729166"></a>
+<a name="id729552"></a>
           <a href="rational.html#math_toolkit.toolkit.internals1.rational.implementation">Implementation</a>
         </h5>
 <p>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/roots.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/roots.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/roots.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -28,7 +28,7 @@
         With Derivatives</a>
 </h4></div></div></div>
 <a name="math_toolkit.toolkit.internals1.roots.synopsis"></a><h5>
-<a name="id729285"></a>
+<a name="id729670"></a>
           <a href="roots.html#math_toolkit.toolkit.internals1.roots.synopsis">Synopsis</a>
         </h5>
 <p>
@@ -61,7 +61,7 @@
 <span class="special">}}}</span> <span class="comment">// namespaces
 </span></pre>
 <a name="math_toolkit.toolkit.internals1.roots.description"></a><h5>
-<a name="id730440"></a>
+<a name="id730826"></a>
           <a href="roots.html#math_toolkit.toolkit.internals1.roots.description">Description</a>
         </h5>
 <p>
@@ -176,7 +176,7 @@
 <a name="newton"></a><p>
         </p>
 <a name="math_toolkit.toolkit.internals1.roots.newton_raphson_method"></a><h5>
-<a name="id730761"></a>
+<a name="id731147"></a>
           <a href="roots.html#math_toolkit.toolkit.internals1.roots.newton_raphson_method">Newton
           Raphson Method</a>
         </h5>
@@ -196,7 +196,7 @@
 <a name="halley"></a><p>
         </p>
 <a name="math_toolkit.toolkit.internals1.roots.halley_s_method"></a><h5>
-<a name="id730842"></a>
+<a name="id731228"></a>
           <a href="roots.html#math_toolkit.toolkit.internals1.roots.halley_s_method">Halley's
           Method</a>
         </h5>
@@ -220,7 +220,7 @@
 <a name="schroeder"></a><p>
         </p>
 <a name="math_toolkit.toolkit.internals1.roots.schroeder_s_method"></a><h5>
-<a name="id730929"></a>
+<a name="id731315"></a>
           <a href="roots.html#math_toolkit.toolkit.internals1.roots.schroeder_s_method">Schroeder's
           Method</a>
         </h5>
@@ -244,7 +244,7 @@
           iteration.
         </p>
 <a name="math_toolkit.toolkit.internals1.roots.example"></a><h5>
-<a name="id731009"></a>
+<a name="id731395"></a>
           <a href="roots.html#math_toolkit.toolkit.internals1.roots.example">Example</a>
         </h5>
 <p>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/roots2.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/roots2.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/roots2.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -28,7 +28,7 @@
         Without Derivatives</a>
 </h4></div></div></div>
 <a name="math_toolkit.toolkit.internals1.roots2.synopsis"></a><h5>
-<a name="id733125"></a>
+<a name="id733511"></a>
           <a href="roots2.html#math_toolkit.toolkit.internals1.roots2.synopsis">Synopsis</a>
         </h5>
 <p>
@@ -141,7 +141,7 @@
 <span class="special">}}}</span> <span class="comment">// namespaces
 </span></pre>
 <a name="math_toolkit.toolkit.internals1.roots2.description"></a><h5>
-<a name="id735767"></a>
+<a name="id736154"></a>
           <a href="roots2.html#math_toolkit.toolkit.internals1.roots2.description">Description</a>
         </h5>
 <p>
@@ -559,7 +559,7 @@
           as soon as both ends of the interval round to the same nearest integer.
         </p>
 <a name="math_toolkit.toolkit.internals1.roots2.implementation"></a><h5>
-<a name="id740212"></a>
+<a name="id740599"></a>
           <a href="roots2.html#math_toolkit.toolkit.internals1.roots2.implementation">Implementation</a>
         </h5>
 <p>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/series_evaluation.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/series_evaluation.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals1/series_evaluation.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -28,7 +28,7 @@
         Series Evaluation</a>
 </h4></div></div></div>
 <a name="math_toolkit.toolkit.internals1.series_evaluation.synopsis"></a><h5>
-<a name="id720707"></a>
+<a name="id721093"></a>
           <a href="series_evaluation.html#math_toolkit.toolkit.internals1.series_evaluation.synopsis">Synopsis</a>
         </h5>
 <p>
@@ -61,7 +61,7 @@
 <span class="special">}}}</span> <span class="comment">// namespaces
 </span></pre>
 <a name="math_toolkit.toolkit.internals1.series_evaluation.description"></a><h5>
-<a name="id721657"></a>
+<a name="id722042"></a>
           <a href="series_evaluation.html#math_toolkit.toolkit.internals1.series_evaluation.description">Description</a>
         </h5>
 <p>
@@ -117,7 +117,7 @@
           summation in this way.
         </p>
 <a name="math_toolkit.toolkit.internals1.series_evaluation.example"></a><h5>
-<a name="id721804"></a>
+<a name="id722189"></a>
           <a href="series_evaluation.html#math_toolkit.toolkit.internals1.series_evaluation.example">Example</a>
         </h5>
 <p>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2/error_test.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2/error_test.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2/error_test.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -28,7 +28,7 @@
         Error and Testing</a>
 </h4></div></div></div>
 <a name="math_toolkit.toolkit.internals2.error_test.synopsis"></a><h5>
-<a name="id744959"></a>
+<a name="id745361"></a>
           <a href="error_test.html#math_toolkit.toolkit.internals2.error_test.synopsis">Synopsis</a>
         </h5>
 <p>
@@ -45,7 +45,7 @@
 <span class="identifier">test_result</span><span class="special">&lt;</span><span class="identifier">see</span><span class="special">-</span><span class="identifier">below</span><span class="special">&gt;</span> <span class="identifier">test</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">,</span> <span class="identifier">F1</span> <span class="identifier">test_func</span><span class="special">,</span> <span class="identifier">F2</span> <span class="identifier">expect_func</span><span class="special">);</span>
 </pre>
 <a name="math_toolkit.toolkit.internals2.error_test.description"></a><h5>
-<a name="id745311"></a>
+<a name="id745713"></a>
           <a href="error_test.html#math_toolkit.toolkit.internals2.error_test.description">Description</a>
         </h5>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
@@ -165,7 +165,7 @@
           is mainly a debugging/development aid (and a good place for a breakpoint).
         </p>
 <a name="math_toolkit.toolkit.internals2.error_test.example"></a><h5>
-<a name="id746262"></a>
+<a name="id746664"></a>
           <a href="error_test.html#math_toolkit.toolkit.internals2.error_test.example">Example</a>
         </h5>
 <p>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2/polynomials.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2/polynomials.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2/polynomials.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -27,7 +27,7 @@
 <a name="math_toolkit.toolkit.internals2.polynomials"></a> Polynomials
 </h4></div></div></div>
 <a name="math_toolkit.toolkit.internals2.polynomials.synopsis"></a><h5>
-<a name="id740978"></a>
+<a name="id741364"></a>
           <a href="polynomials.html#math_toolkit.toolkit.internals2.polynomials.synopsis">Synopsis</a>
         </h5>
 <p>
@@ -103,7 +103,7 @@
 <span class="special">}}}</span> <span class="comment">// namespaces
 </span></pre>
 <a name="math_toolkit.toolkit.internals2.polynomials.description"></a><h5>
-<a name="id743752"></a>
+<a name="id744139"></a>
           <a href="polynomials.html#math_toolkit.toolkit.internals2.polynomials.description">Description</a>
         </h5>
 <p>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2/test_data.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2/test_data.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/toolkit/internals2/test_data.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -46,7 +46,7 @@
           </li>
 </ul></div>
 <a name="math_toolkit.toolkit.internals2.test_data.synopsis"></a><h5>
-<a name="id747358"></a>
+<a name="id747760"></a>
           <a href="test_data.html#math_toolkit.toolkit.internals2.test_data.synopsis">Synopsis</a>
         </h5>
 <pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tools</span><span class="special">{</span>
@@ -147,7 +147,7 @@
 <span class="special">}}}</span> <span class="comment">// namespaces
 </span></pre>
 <a name="math_toolkit.toolkit.internals2.test_data.description"></a><h5>
-<a name="id750282"></a>
+<a name="id750684"></a>
           <a href="test_data.html#math_toolkit.toolkit.internals2.test_data.description">Description</a>
         </h5>
 <p>
@@ -177,7 +177,7 @@
           </li>
 </ul></div>
 <a name="math_toolkit.toolkit.internals2.test_data.example_1__output_data_for_graph_plotting"></a><h6>
-<a name="id750355"></a>
+<a name="id750758"></a>
           <a href="test_data.html#math_toolkit.toolkit.internals2.test_data.example_1__output_data_for_graph_plotting">Example
           1: Output Data for Graph Plotting</a>
         </h6>
@@ -211,7 +211,7 @@
           <span class="inlinemediaobject"><img src="../../../../graphs/lgamma.png" align="middle"></span>
         </p>
 <a name="math_toolkit.toolkit.internals2.test_data.example_2__creating_test_data"></a><h6>
-<a name="id750913"></a>
+<a name="id751315"></a>
           <a href="test_data.html#math_toolkit.toolkit.internals2.test_data.example_2__creating_test_data">Example
           2: Creating Test Data</a>
         </h6>
@@ -375,7 +375,7 @@
           used by default as it's rather hard on the compiler when the table is large.
         </p>
 <a name="math_toolkit.toolkit.internals2.test_data.example_3__profiling_a_continued_fraction_for_convergence_and_accuracy"></a><h6>
-<a name="id753413"></a>
+<a name="id753802"></a>
           <a href="test_data.html#math_toolkit.toolkit.internals2.test_data.example_3__profiling_a_continued_fraction_for_convergence_and_accuracy">Example
           3: Profiling a Continued Fraction for Convergence and Accuracy</a>
         </h6>
@@ -481,7 +481,7 @@
           of a and z.
         </p>
 <a name="math_toolkit.toolkit.internals2.test_data.reference"></a><h5>
-<a name="id755652"></a>
+<a name="id756042"></a>
           <a href="test_data.html#math_toolkit.toolkit.internals2.test_data.reference">reference</a>
         </h5>
 <a name="test_data_reference"></a><p>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/using_udt/concepts.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/using_udt/concepts.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/using_udt/concepts.html 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -42,7 +42,7 @@
         behaves just like a built in floating point type.
       </p>
 <a name="math_toolkit.using_udt.concepts.basic_arithmetic_requirements"></a><h5>
-<a name="id756655"></a>
+<a name="id757045"></a>
         <a href="concepts.html#math_toolkit.using_udt.concepts.basic_arithmetic_requirements">Basic
         Arithmetic Requirements</a>
       </h5>
@@ -1034,7 +1034,7 @@
 </td></tr>
 </table></div>
 <a name="math_toolkit.using_udt.concepts.standard_library_support_requirements"></a><h5>
-<a name="id759723"></a>
+<a name="id760113"></a>
         <a href="concepts.html#math_toolkit.using_udt.concepts.standard_library_support_requirements">Standard
         Library Support Requirements</a>
       </h5>

Modified: trunk/libs/math/doc/sf_and_dist/roadmap.qbk
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/roadmap.qbk (original)
+++ trunk/libs/math/doc/sf_and_dist/roadmap.qbk 2008-04-21 09:00:16 EDT (Mon, 21 Apr 2008)
@@ -71,7 +71,7 @@
 
 SVN Revisions:
 
-Sandbox and trunk last synchonised at revision: 44092.
+Sandbox and trunk last synchonised at revision: 44694.
 
 ]
 [/


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk