summaryrefslogtreecommitdiff
path: root/libs/math/doc/sf_and_dist/html/math_toolkit/perf
diff options
context:
space:
mode:
Diffstat (limited to 'libs/math/doc/sf_and_dist/html/math_toolkit/perf')
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/perf/comp_compilers.html377
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/perf/comparisons.html3132
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/perf/getting_best.html294
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/perf/interp.html81
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/perf/perf_over.html81
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/perf/perf_test_app.html63
-rw-r--r--libs/math/doc/sf_and_dist/html/math_toolkit/perf/tuning.html901
7 files changed, 4929 insertions, 0 deletions
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/perf/comp_compilers.html b/libs/math/doc/sf_and_dist/html/math_toolkit/perf/comp_compilers.html
new file mode 100644
index 0000000000..cc2a322533
--- /dev/null
+++ b/libs/math/doc/sf_and_dist/html/math_toolkit/perf/comp_compilers.html
@@ -0,0 +1,377 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Comparing Compilers</title>
+<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Math Toolkit">
+<link rel="up" href="../perf.html" title="Performance">
+<link rel="prev" href="getting_best.html" title="Getting the Best Performance from this Library">
+<link rel="next" href="tuning.html" title="Performance Tuning Macros">
+</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"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="getting_best.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tuning.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section math_toolkit_perf_comp_compilers">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.perf.comp_compilers"></a><a class="link" href="comp_compilers.html" title="Comparing Compilers">Comparing Compilers</a>
+</h3></div></div></div>
+<p>
+ After a good choice of build settings the next most important thing you can
+ do, is choose your compiler - and the standard C library it sits on top of
+ - very carefully. GCC-3.x in particular has been found to be particularly
+ bad at inlining code, and performing the kinds of high level transformations
+ that good C++ performance demands (thankfully GCC-4.x is somewhat better
+ in this respect).
+ </p>
+<div class="table">
+<a name="math_toolkit.perf.comp_compilers.performance_comparison_of_various_windows_compilers"></a><p class="title"><b>Table&#160;52.&#160;Performance Comparison of Various Windows Compilers</b></p>
+<div class="table-contents"><table class="table" summary="Performance Comparison of Various Windows Compilers">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Intel C++ 10.0
+ </p>
+ <p>
+ ( /Ox /Qipo /QxN )
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ 8.0
+ </p>
+ <p>
+ ( /Ox /arch:SSE2 )
+ </p>
+ </th>
+<th>
+ <p>
+ Cygwin G++ 3.4
+ </p>
+ <p>
+ ( /O3 )
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/sf_erf/error_function.html" title="Error Functions">erf</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.118e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.483e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>3.24</p>
+<p> </p>
+<p>(1.336e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/sf_erf/error_inv.html" title="Error Function Inverses">erf_inv</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.439e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.888e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>7.88</p>
+<p> </p>
+<p>(3.500e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>
+ and <a class="link" href="../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibetac</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.631e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.14</p>
+<p> </p>
+<p>(1.852e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>3.05</p>
+<p> </p>
+<p>(4.975e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inv</a>
+ and <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_inv</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(6.133e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.19</p>
+<p> </p>
+<p>(7.311e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.60</p>
+<p> </p>
+<p>(1.597e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inva</a>,
+ <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_inva</a>,
+ <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_invb</a>
+ and <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_invb</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(2.453e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.16</p>
+<p> </p>
+<p>(2.847e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.83</p>
+<p> </p>
+<p>(6.947e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_p</a>
+ and <a class="link" href="../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_q</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(6.735e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.41</p>
+<p> </p>
+<p>(9.504e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.78</p>
+<p> </p>
+<p>(1.872e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inv</a>
+ and <a class="link" href="../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inv</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(2.637e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.38</p>
+<p> </p>
+<p>(3.631e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>3.31</p>
+<p> </p>
+<p>(8.736e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inva</a>
+ and <a class="link" href="../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inva</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(7.716e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.29</p>
+<p> </p>
+<p>(9.982e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.56</p>
+<p> </p>
+<p>(1.974e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
+ Lalande, Johan R&#229;de, Gautam Sewani and Thijs van den Berg<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="getting_best.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tuning.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/perf/comparisons.html b/libs/math/doc/sf_and_dist/html/math_toolkit/perf/comparisons.html
new file mode 100644
index 0000000000..dba9bf956f
--- /dev/null
+++ b/libs/math/doc/sf_and_dist/html/math_toolkit/perf/comparisons.html
@@ -0,0 +1,3132 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Comparisons to Other Open Source Libraries</title>
+<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Math Toolkit">
+<link rel="up" href="../perf.html" title="Performance">
+<link rel="prev" href="tuning.html" title="Performance Tuning Macros">
+<link rel="next" href="perf_test_app.html" title="The Performance Test Application">
+</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"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tuning.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="perf_test_app.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section math_toolkit_perf_comparisons">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.perf.comparisons"></a><a class="link" href="comparisons.html" title="Comparisons to Other Open Source Libraries">Comparisons to Other Open
+ Source Libraries</a>
+</h3></div></div></div>
+<p>
+ We've run our performance tests both for our own code, and against other
+ open source implementations of the same functions. The results are presented
+ below to give you a rough idea of how they all compare.
+ </p>
+<div class="caution"><table border="0" summary="Caution">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../doc/src/images/caution.png"></td>
+<th align="left">Caution</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ You should exercise extreme caution when interpreting these results, relative
+ performance may vary by platform, the tests use data that gives good code
+ coverage of <span class="emphasis"><em>our</em></span> code, but which may skew the results
+ towards the corner cases. Finally, remember that different libraries make
+ different choices with regard to performance verses numerical stability.
+ </p></td></tr>
+</table></div>
+<h5>
+<a name="math_toolkit.perf.comparisons.h0"></a>
+ <span><a name="math_toolkit.perf.comparisons.comparison_to_gsl_1_13_and_cephes"></a></span><a class="link" href="comparisons.html#math_toolkit.perf.comparisons.comparison_to_gsl_1_13_and_cephes">Comparison
+ to GSL-1.13 and Cephes</a>
+ </h5>
+<p>
+ All the results were measured on a 2.0GHz Intel T5800 Core 2 Duo, 4Gb RAM,
+ Windows Vista machine, with the test program compiled with Microsoft Visual
+ C++ 2009 using the /Ox option.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Boost
+ </p>
+ </th>
+<th>
+ <p>
+ GSL-1.9
+ </p>
+ </th>
+<th>
+ <p>
+ Cephes
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/powers/cbrt.html" title="cbrt">cbrt</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.873e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ N/A
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(6.699e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/powers/log1p.html" title="log1p">log1p</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.664e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(2.677e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.189e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/powers/expm1.html" title="expm1">expm1</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(8.760e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.248e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(8.169e-008s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/sf_gamma/tgamma.html" title="Gamma">tgamma</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.80</p>
+<p> </p>
+<p>(2.997e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.54</p>
+<p> </p>
+<p>(2.569e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.666e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/sf_gamma/lgamma.html" title="Log Gamma">lgamma</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.20</p>
+<p> </p>
+<p>(3.045e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>4.14</p>
+<p> </p>
+<p>(5.713e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.381e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/sf_erf/error_function.html" title="Error Functions">erf</a>
+ and <a class="link" href="../special/sf_erf/error_function.html" title="Error Functions">erfc</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.483e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(7.052e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.722e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_p</a>
+ and <a class="link" href="../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_q</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(6.182e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>3.57</p>
+<p> </p>
+<p>(2.209e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>4.29</p>
+<p> </p>
+<p>(2.651e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inv</a>
+ and <a class="link" href="../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inv</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.943e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ N/A
+ </p>
+ </td>
+<td>
+ <p>
+ +INF <sup>[<a name="math_toolkit.perf.comparisons.f0" href="#ftn.math_toolkit.perf.comparisons.f0" class="footnote">1</a>]</sup>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>
+ and <a class="link" href="../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibetac</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.670e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.16</p>
+<p> </p>
+<p>(1.935e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.16</p>
+<p> </p>
+<p>(1.935e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inv</a>
+ and <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_inv</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(6.075e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ N/A
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.45</p>
+<p> </p>
+<p>(1.489e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/bessel/bessel.html" title="Bessel Functions of the First and Second Kinds">cyl_bessel_j</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>17.89<sup>[<a name="math_toolkit.perf.comparisons.f1" href="#ftn.math_toolkit.perf.comparisons.f1" class="footnote">2</a>]</sup></p>
+<p> </p>
+<p>(4.248e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(5.214e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(2.374e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/bessel/mbessel.html" title="Modified Bessel Functions of the First and Second Kinds">cyl_bessel_i</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(5.924e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.487e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.823e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/bessel/mbessel.html" title="Modified Bessel Functions of the First and Second Kinds">cyl_bessel_k</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(2.783e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(3.927e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ N/A
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/bessel/bessel.html" title="Bessel Functions of the First and Second Kinds">cyl_neumann</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.465e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.230e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.977e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+</tbody>
+<tbody class="footnotes"><tr><td colspan="4">
+<div class="footnote"><p><sup>[<a id="ftn.math_toolkit.perf.comparisons.f0" href="#math_toolkit.perf.comparisons.f0" class="para">1</a>] </sup>
+ Cephes gets stuck in an infinite loop while trying to execute
+ our test cases.
+ </p></div>
+<div class="footnote"><p><sup>[<a id="ftn.math_toolkit.perf.comparisons.f1" href="#math_toolkit.perf.comparisons.f1" class="para">2</a>] </sup>
+ The performance here is dominated by a few cases where the parameters
+ grow very large: faster asymptotic expansions are available,
+ but are of limited (or even frankly terrible) precision. The
+ same issue effects all of our Bessel function implementations,
+ but doesn't necessarily show in the current performance data.
+ More investigation is needed here.
+ </p></div>
+</td></tr></tbody>
+</table></div>
+<h5>
+<a name="math_toolkit.perf.comparisons.h1"></a>
+ <span><a name="math_toolkit.perf.comparisons.comparison_to_the_r_and_dcdflib_statistical_libraries_on_windows"></a></span><a class="link" href="comparisons.html#math_toolkit.perf.comparisons.comparison_to_the_r_and_dcdflib_statistical_libraries_on_windows">Comparison
+ to the R and DCDFLIB Statistical Libraries on Windows</a>
+ </h5>
+<p>
+ All the results were measured on a 2.0GHz Intel T5800 Core 2 Duo, 4Gb RAM,
+ Windows Vista machine, with the test program compiled with Microsoft Visual
+ C++ 2009, and R-2.9.2 compiled in "standalone mode" with MinGW-4.3
+ (R-2.9.2 appears not to be buildable with Visual C++).
+ </p>
+<div class="table">
+<a name="math_toolkit.perf.comparisons.a_comparison_to_the_r_statistical_library_on_windows_xp"></a><p class="title"><b>Table&#160;55.&#160;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">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Statistical Function
+ </p>
+ </th>
+<th>
+ <p>
+ Boost
+ </p>
+ </th>
+<th>
+ <p>
+ R
+ </p>
+ </th>
+<th>
+ <p>
+ DCDFLIB
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/beta_dist.html" title="Beta Distribution">Beta
+ Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.08</p>
+<p> </p>
+<p>(1.385e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.278e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.06</p>
+<p> </p>
+<p>(1.349e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/beta_dist.html" title="Beta Distribution">Beta
+ Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.975e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>67.66<sup>[<a name="math_toolkit.perf.comparisons.f2" href="#ftn.math_toolkit.perf.comparisons.f2" class="footnote">1</a>]</sup></p>
+<p> </p>
+<p>(3.366e-004s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>4.23</p>
+<p> </p>
+<p>(2.103e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution">Binomial
+ Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.06</p>
+<p> </p>
+<p>(4.503e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.81</p>
+<p> </p>
+<p>(7.680e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.239e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution">Binomial
+ Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(3.254e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.15</p>
+<p> </p>
+<p>(3.746e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>7.25</p>
+<p> </p>
+<p>(2.358e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution">Cauchy
+ Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.134e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.08</p>
+<p> </p>
+<p>(1.227e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution">Cauchy
+ Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.203e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.203e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution">Chi
+ Squared Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.21</p>
+<p> </p>
+<p>(5.021e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.83</p>
+<p> </p>
+<p>(1.176e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.155e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution">Chi
+ Squared Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.930e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.72</p>
+<p> </p>
+<p>(5.243e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>5.73</p>
+<p> </p>
+<p>(1.106e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/exp_dist.html" title="Exponential Distribution">Exponential
+ Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(3.798e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>5.89</p>
+<p> </p>
+<p>(2.236e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/exp_dist.html" title="Exponential Distribution">Exponential
+ Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.41</p>
+<p> </p>
+<p>(9.006e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(6.380e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/f_dist.html" title="F Distribution">Fisher
+ F Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(9.556e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.34</p>
+<p> </p>
+<p>(1.283e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.24</p>
+<p> </p>
+<p>(1.183e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/f_dist.html" title="F Distribution">Fisher
+ F Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(6.987e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.33</p>
+<p> </p>
+<p>(9.325e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>3.16</p>
+<p> </p>
+<p>(2.205e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution">Gamma
+ Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.52</p>
+<p> </p>
+<p>(6.240e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>3.11</p>
+<p> </p>
+<p>(1.279e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.111e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution">Gamma
+ Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.24</p>
+<p> </p>
+<p>(2.179e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>6.25</p>
+<p> </p>
+<p>(1.102e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.764e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ __hypergeometric_distrib CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>3.60<sup>[<a name="math_toolkit.perf.comparisons.f3" href="#ftn.math_toolkit.perf.comparisons.f3" class="footnote">2</a>]</sup></p>
+<p> </p>
+<p>(5.987e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.665e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ __hypergeometric_distrib Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(5.684e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>3.53</p>
+<p> </p>
+<p>(2.004e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution">Logistic
+ Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.714e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>5.24</p>
+<p> </p>
+<p>(8.984e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution">Logistic
+ Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.02</p>
+<p> </p>
+<p>(2.084e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(2.043e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution">Log-normal
+ Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(3.579e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.49</p>
+<p> </p>
+<p>(5.332e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution">Log-normal
+ Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(9.622e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.57</p>
+<p> </p>
+<p>(1.507e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution">Negative
+ Binomial Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(6.227e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.25</p>
+<p> </p>
+<p>(1.403e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.21</p>
+<p> </p>
+<p>(1.378e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution">Negative
+ Binomial Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(8.594e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>43.43<sup>[<a name="math_toolkit.perf.comparisons.f4" href="#ftn.math_toolkit.perf.comparisons.f4" class="footnote">3</a>]</sup></p>
+<p> </p>
+<p>(3.732e-004s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>3.48</p>
+<p> </p>
+<p>(2.994e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution">Noncentral
+ Chi Squared Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.16</p>
+<p> </p>
+<p>(3.926e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>79.93</p>
+<p> </p>
+<p>(1.450e-004s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.814e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution">Noncentral
+ Chi Squared Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>5.00</p>
+<p> </p>
+<p>(3.393e-004s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>393.90<sup>[<a name="math_toolkit.perf.comparisons.f5" href="#ftn.math_toolkit.perf.comparisons.f5" class="footnote">4</a>]</sup></p>
+<p> </p>
+<p>(2.673e-002s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(6.786e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution">Noncentral
+ F Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.59</p>
+<p> </p>
+<p>(1.128e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(7.087e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.274e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution">Noncentral
+ F Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.750e-004s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.62</p>
+<p> </p>
+<p>(7.681e-004s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.274e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution">noncentral
+ T distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>3.41</p>
+<p> </p>
+<p>(1.852e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(5.436e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution">noncentral
+ T distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.31</p>
+<p> </p>
+<p>(5.768e-004s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span><sup>[<a name="math_toolkit.perf.comparisons.f6" href="#ftn.math_toolkit.perf.comparisons.f6" class="footnote">5</a>]</sup></p>
+<p> </p>
+<p>(4.411e-004s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution">Normal
+ Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(8.373e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.68</p>
+<p> </p>
+<p>(1.409e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>6.01</p>
+<p> </p>
+<p>(5.029e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution">Normal
+ Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.29</p>
+<p> </p>
+<p>(1.521e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.182e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>10.85</p>
+<p> </p>
+<p>(1.283e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/poisson_dist.html" title="Poisson Distribution">Poisson
+ Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.18</p>
+<p> </p>
+<p>(5.193e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.98</p>
+<p> </p>
+<p>(1.314e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.410e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/poisson_dist.html" title="Poisson Distribution">Poisson
+ Distribution</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.203e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.20</p>
+<p> </p>
+<p>(2.642e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>7.86</p>
+<p> </p>
+<p>(9.457e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/students_t_dist.html" title="Students t Distribution">Students
+ t Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(8.655e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.06</p>
+<p> </p>
+<p>(9.166e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.04</p>
+<p> </p>
+<p>(8.999e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/students_t_dist.html" title="Students t Distribution">Students
+ t Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(2.294e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.36</p>
+<p> </p>
+<p>(3.131e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>4.82</p>
+<p> </p>
+<p>(1.106e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/weibull_dist.html" title="Weibull Distribution">Weibull
+ Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.865e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.33</p>
+<p> </p>
+<p>(4.341e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/weibull_dist.html" title="Weibull Distribution">Weibull
+ Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(3.608e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.22</p>
+<p> </p>
+<p>(4.410e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+</tbody>
+<tbody class="footnotes"><tr><td colspan="4">
+<div class="footnote"><p><sup>[<a id="ftn.math_toolkit.perf.comparisons.f2" href="#math_toolkit.perf.comparisons.f2" class="para">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 id="ftn.math_toolkit.perf.comparisons.f3" href="#math_toolkit.perf.comparisons.f3" class="para">2</a>] </sup>
+ This result is somewhat misleading: for small values of the parameters
+ there is virtually no difference between the two libraries, but
+ for large values the Boost implementation is <span class="emphasis"><em>much</em></span>
+ slower, albeit with much improved precision.
+ </p></div>
+<div class="footnote"><p><sup>[<a id="ftn.math_toolkit.perf.comparisons.f4" href="#math_toolkit.perf.comparisons.f4" class="para">3</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
+ </p></div>
+<div class="footnote"><p><sup>[<a id="ftn.math_toolkit.perf.comparisons.f5" href="#math_toolkit.perf.comparisons.f5" class="para">4</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 id="ftn.math_toolkit.perf.comparisons.f6" href="#math_toolkit.perf.comparisons.f6" class="para">5</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>
+</td></tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><h5>
+<a name="math_toolkit.perf.comparisons.h2"></a>
+ <span><a name="math_toolkit.perf.comparisons.comparison_to_the_r_statistical_library_on_linux"></a></span><a class="link" 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>
+<p>
+ All the results were measured on a 2.0GHz Intel T5800 Core 2 Duo, 4Gb RAM,
+ Ubuntu Linux 9 machine, with the test program and R-2.9.2 compiled with GNU
+ G++ 4.3.3 using -O3 -DNDEBUG=1.
+ </p>
+<div class="table">
+<a name="math_toolkit.perf.comparisons.a_comparison_to_the_r_statistical_library_on_linux"></a><p class="title"><b>Table&#160;56.&#160;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>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Statistical Function
+ </p>
+ </th>
+<th>
+ <p>
+ Boost
+ </p>
+ </th>
+<th>
+ <p>
+ R
+ </p>
+ </th>
+<th>
+ <p>
+ DCDFLIB
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/beta_dist.html" title="Beta Distribution">Beta
+ Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.09</p>
+<p> </p>
+<p>(3.189e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.526e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.19</p>
+<p> </p>
+<p>(1.822e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/beta_dist.html" title="Beta Distribution">Beta
+ Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.185e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>30.51<sup>[<a name="math_toolkit.perf.comparisons.f7" href="#ftn.math_toolkit.perf.comparisons.f7" class="footnote">1</a>]</sup></p>
+<p> </p>
+<p>(3.616e-004s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.52</p>
+<p> </p>
+<p>(2.989e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution">Binomial
+ Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>4.41</p>
+<p> </p>
+<p>(9.175e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>3.59</p>
+<p> </p>
+<p>(7.476e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(2.081e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/binomial_dist.html" title="Binomial Distribution">Binomial
+ Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.57</p>
+<p> </p>
+<p>(6.925e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.407e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>7.43</p>
+<p> </p>
+<p>(3.274e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution">Cauchy
+ Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.594e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.04</p>
+<p> </p>
+<p>(1.654e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/cauchy_dist.html" title="Cauchy-Lorentz Distribution">Cauchy
+ Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.21</p>
+<p> </p>
+<p>(1.752e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.448e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution">Chi
+ Squared Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.61</p>
+<p> </p>
+<p>(1.376e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.36</p>
+<p> </p>
+<p>(1.243e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(5.270e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/chi_squared_dist.html" title="Chi Squared Distribution">Chi
+ Squared Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.252e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.34</p>
+<p> </p>
+<p>(5.700e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>3.47</p>
+<p> </p>
+<p>(1.477e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/exp_dist.html" title="Exponential Distribution">Exponential
+ Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.342e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.25</p>
+<p> </p>
+<p>(1.677e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/exp_dist.html" title="Exponential Distribution">Exponential
+ Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(8.827e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.07</p>
+<p> </p>
+<p>(9.470e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/f_dist.html" title="F Distribution">Fisher
+ F Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.62</p>
+<p> </p>
+<p>(2.324e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.19</p>
+<p> </p>
+<p>(1.711e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.437e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/f_dist.html" title="F Distribution">Fisher
+ F Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.53</p>
+<p> </p>
+<p>(1.577e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.033e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.63</p>
+<p> </p>
+<p>(2.719e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution">Gamma
+ Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>3.18</p>
+<p> </p>
+<p>(1.582e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.63</p>
+<p> </p>
+<p>(1.309e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.980e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/gamma_dist.html" title="Gamma (and Erlang) Distribution">Gamma
+ Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.19</p>
+<p> </p>
+<p>(4.770e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>6.94</p>
+<p> </p>
+<p>(1.513e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(2.179e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ __hypergeometric_distrib CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.20<sup>[<a name="math_toolkit.perf.comparisons.f8" href="#ftn.math_toolkit.perf.comparisons.f8" class="footnote">2</a>]</sup></p>
+<p> </p>
+<p>(3.522e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.601e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ __hypergeometric_distrib Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(8.279e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.57</p>
+<p> </p>
+<p>(2.125e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution">Logistic
+ Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(9.398e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.75</p>
+<p> </p>
+<p>(2.588e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/logistic_dist.html" title="Logistic Distribution">Logistic
+ Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(9.893e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.30</p>
+<p> </p>
+<p>(1.285e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution">Log-normal
+ Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.831e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.39</p>
+<p> </p>
+<p>(2.539e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/lognormal_dist.html" title="Log Normal Distribution">Log-normal
+ Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.10</p>
+<p> </p>
+<p>(5.551e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(5.037e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution">Negative
+ Binomial Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.08</p>
+<p> </p>
+<p>(1.563e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.444e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.444e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/negative_binomial_dist.html" title="Negative Binomial Distribution">Negative
+ Binomial Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.700e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>25.92<sup>[<a name="math_toolkit.perf.comparisons.f9" href="#ftn.math_toolkit.perf.comparisons.f9" class="footnote">3</a>]</sup></p>
+<p> </p>
+<p>(4.407e-004s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.93</p>
+<p> </p>
+<p>(3.274e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution">Noncentral
+ Chi Squared Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>5.06</p>
+<p> </p>
+<p>(2.841e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>25.01</p>
+<p> </p>
+<p>(1.405e-004s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(5.617e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/nc_chi_squared_dist.html" title="Noncentral Chi-Squared Distribution">Noncentral
+ Chi Squared Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>8.47</p>
+<p> </p>
+<p>(1.879e-003s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>144.91<sup>[<a name="math_toolkit.perf.comparisons.f10" href="#ftn.math_toolkit.perf.comparisons.f10" class="footnote">4</a>]</sup></p>
+<p> </p>
+<p>(3.214e-002s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(2.218e-004s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution">Noncentral
+ F Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>10.33</p>
+<p> </p>
+<p>(5.868e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.42</p>
+<p> </p>
+<p>(8.058e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(5.682e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/nc_f_dist.html" title="Noncentral F Distribution">Noncentral
+ F Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>5.64</p>
+<p> </p>
+<p>(7.869e-004s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>6.63</p>
+<p> </p>
+<p>(9.256e-004s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.396e-004s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution">noncentral
+ T distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>4.91</p>
+<p> </p>
+<p>(3.357e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(6.844e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/nc_t_dist.html" title="Noncentral T Distribution">noncentral
+ T distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.57</p>
+<p> </p>
+<p>(9.265e-004s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span><sup>[<a name="math_toolkit.perf.comparisons.f11" href="#ftn.math_toolkit.perf.comparisons.f11" class="footnote">5</a>]</sup></p>
+<p> </p>
+<p>(5.916e-004s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution">Normal
+ Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.074e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.16</p>
+<p> </p>
+<p>(1.245e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>5.36</p>
+<p> </p>
+<p>(5.762e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/normal_dist.html" title="Normal (Gaussian) Distribution">Normal
+ Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.28</p>
+<p> </p>
+<p>(1.902e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.490e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>10.35</p>
+<p> </p>
+<p>(1.542e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/poisson_dist.html" title="Poisson Distribution">Poisson
+ Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.43</p>
+<p> </p>
+<p>(1.198e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.25</p>
+<p> </p>
+<p>(1.110e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.937e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/poisson_dist.html" title="Poisson Distribution">Poisson
+ Distribution</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.11</p>
+<p> </p>
+<p>(3.032e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(2.724e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>4.07</p>
+<p> </p>
+<p>(1.110e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/students_t_dist.html" title="Students t Distribution">Students
+ t Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>2.17</p>
+<p> </p>
+<p>(2.020e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(9.321e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.10</p>
+<p> </p>
+<p>(1.021e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/students_t_dist.html" title="Students t Distribution">Students
+ t Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.18</p>
+<p> </p>
+<p>(3.972e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(3.364e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>3.89</p>
+<p> </p>
+<p>(1.308e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/weibull_dist.html" title="Weibull Distribution">Weibull
+ Distribution</a> CDF
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(3.662e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.04</p>
+<p> </p>
+<p>(3.808e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../dist/dist_ref/dists/weibull_dist.html" title="Weibull Distribution">Weibull
+ Distribution</a> Quantile
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.112e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.05</p>
+<p> </p>
+<p>(4.317e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ NA
+ </p>
+ </td>
+</tr>
+</tbody>
+<tbody class="footnotes"><tr><td colspan="4">
+<div class="footnote"><p><sup>[<a id="ftn.math_toolkit.perf.comparisons.f7" href="#math_toolkit.perf.comparisons.f7" class="para">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 id="ftn.math_toolkit.perf.comparisons.f8" href="#math_toolkit.perf.comparisons.f8" class="para">2</a>] </sup>
+ This result is somewhat misleading: for small values of the parameters
+ there is virtually no difference between the two libraries, but
+ for large values the Boost implementation is <span class="emphasis"><em>much</em></span>
+ slower, albeit with much improved precision.
+ </p></div>
+<div class="footnote"><p><sup>[<a id="ftn.math_toolkit.perf.comparisons.f9" href="#math_toolkit.perf.comparisons.f9" class="para">3</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
+ </p></div>
+<div class="footnote"><p><sup>[<a id="ftn.math_toolkit.perf.comparisons.f10" href="#math_toolkit.perf.comparisons.f10" class="para">4</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 id="ftn.math_toolkit.perf.comparisons.f11" href="#math_toolkit.perf.comparisons.f11" class="para">5</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>
+</td></tr></tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
+ Lalande, Johan R&#229;de, Gautam Sewani and Thijs van den Berg<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="tuning.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="perf_test_app.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/perf/getting_best.html b/libs/math/doc/sf_and_dist/html/math_toolkit/perf/getting_best.html
new file mode 100644
index 0000000000..c5db0e415f
--- /dev/null
+++ b/libs/math/doc/sf_and_dist/html/math_toolkit/perf/getting_best.html
@@ -0,0 +1,294 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Getting the Best Performance from this Library</title>
+<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Math Toolkit">
+<link rel="up" href="../perf.html" title="Performance">
+<link rel="prev" href="interp.html" title="Interpreting these Results">
+<link rel="next" href="comp_compilers.html" title="Comparing Compilers">
+</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"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="interp.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="comp_compilers.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section math_toolkit_perf_getting_best">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.perf.getting_best"></a><a class="link" href="getting_best.html" title="Getting the Best Performance from this Library">Getting the Best Performance
+ from this Library</a>
+</h3></div></div></div>
+<p>
+ By far the most important thing you can do when using this library is turn
+ on your compiler's optimisation options. As the following table shows the
+ penalty for using the library in debug mode can be quite large.
+ </p>
+<div class="table">
+<a name="math_toolkit.perf.getting_best.performance_comparison_of_release_and_debug_settings"></a><p class="title"><b>Table&#160;51.&#160;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>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ 8.0
+ </p>
+ <p>
+ Debug Settings: /Od /ZI
+ </p>
+ </th>
+<th>
+ <p>
+ Microsoft Visual C++ 8.0
+ </p>
+ <p>
+ Release settings: /Ox /arch:SSE2
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/sf_erf/error_function.html" title="Error Functions">erf</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>16.65</p>
+<p> </p>
+<p>(1.028e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.483e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/sf_erf/error_inv.html" title="Error Function Inverses">erf_inv</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>19.28</p>
+<p> </p>
+<p>(1.215e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.888e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>
+ and <a class="link" href="../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibetac</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>8.32</p>
+<p> </p>
+<p>(1.540e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.852e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inv</a>
+ and <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_inv</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>10.25</p>
+<p> </p>
+<p>(7.492e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(7.311e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inva</a>,
+ <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_inva</a>,
+ <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_invb</a>
+ and <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_invb</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>8.57</p>
+<p> </p>
+<p>(2.441e-004s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(2.847e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_p</a>
+ and <a class="link" href="../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_q</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>10.98</p>
+<p> </p>
+<p>(1.044e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(9.504e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inv</a>
+ and <a class="link" href="../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inv</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>10.25</p>
+<p> </p>
+<p>(3.721e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(3.631e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inva</a>
+ and <a class="link" href="../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inva</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>11.26</p>
+<p> </p>
+<p>(1.124e-004s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(9.982e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
+ Lalande, Johan R&#229;de, Gautam Sewani and Thijs van den Berg<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="interp.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="comp_compilers.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/perf/interp.html b/libs/math/doc/sf_and_dist/html/math_toolkit/perf/interp.html
new file mode 100644
index 0000000000..1731d6d0da
--- /dev/null
+++ b/libs/math/doc/sf_and_dist/html/math_toolkit/perf/interp.html
@@ -0,0 +1,81 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Interpreting these Results</title>
+<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Math Toolkit">
+<link rel="up" href="../perf.html" title="Performance">
+<link rel="prev" href="perf_over.html" title="Performance Overview">
+<link rel="next" href="getting_best.html" title="Getting the Best Performance from this Library">
+</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"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="perf_over.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="getting_best.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section math_toolkit_perf_interp">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.perf.interp"></a><a class="link" href="interp.html" title="Interpreting these Results">Interpreting these Results</a>
+</h3></div></div></div>
+<p>
+ In all of the following tables, the best performing result in each row, is
+ assigned a relative value of "1" and shown in bold, so a score
+ of "2" means <span class="emphasis"><em>"twice as slow as the best performing
+ result".</em></span> Actual timings in seconds per function call are
+ also shown in parenthesis.
+ </p>
+<p>
+ Result were obtained on a system with an Intel 2.8GHz Pentium 4 processor
+ with 2Gb of RAM and running either Windows XP or Mandriva Linux.
+ </p>
+<div class="caution"><table border="0" summary="Caution">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Caution]" src="../../../../../../../doc/src/images/caution.png"></td>
+<th align="left">Caution</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ As usual with performance results these should be taken with a large pinch
+ of salt: relative performance is known to shift quite a bit depending upon
+ the architecture of the particular test system used. Further more, our
+ performance results were obtained using our own test data: these test values
+ are designed to provide good coverage of our code and test all the appropriate
+ corner cases. They do not necessarily represent "typical" usage:
+ whatever that may be!
+ </p></td></tr>
+</table></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Since these tests were run, most compilers have improved their code optimisation,
+ and processor speeds have improved too, so these results are known to be
+ out of date.
+ </p></td></tr>
+</table></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 &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
+ Lalande, Johan R&#229;de, Gautam Sewani and Thijs van den Berg<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="perf_over.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="getting_best.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/perf/perf_over.html b/libs/math/doc/sf_and_dist/html/math_toolkit/perf/perf_over.html
new file mode 100644
index 0000000000..ca256d87cb
--- /dev/null
+++ b/libs/math/doc/sf_and_dist/html/math_toolkit/perf/perf_over.html
@@ -0,0 +1,81 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Performance Overview</title>
+<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Math Toolkit">
+<link rel="up" href="../perf.html" title="Performance">
+<link rel="prev" href="../perf.html" title="Performance">
+<link rel="next" href="interp.html" title="Interpreting these Results">
+</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"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../perf.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="interp.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section math_toolkit_perf_perf_over">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.perf.perf_over"></a><a class="link" href="perf_over.html" title="Performance Overview">Performance Overview</a>
+</h3></div></div></div>
+<p>
+ By and large the performance of this library should be acceptable for most
+ needs. However, you should note that this library's primary emphasis is on
+ accuracy and numerical stability, and <span class="emphasis"><em>not</em></span> speed.
+ </p>
+<p>
+ In terms of the algorithms used, this library aims to use the same "best
+ of breed" algorithms as many other libraries: the principle difference
+ is that this library is implemented in C++ - taking advantage of all the
+ abstraction mechanisms that C++ offers - where as most traditional numeric
+ libraries are implemented in C or FORTRAN. Traditionally languages such as
+ C or FORTRAN are perceived as easier to optimise than more complex languages
+ like C++, so in a sense this library provides a good test of current compiler
+ technology, and the "abstraction penalty" - if any - of C++ compared
+ to other languages.
+ </p>
+<p>
+ The two most important things you can do to ensure the best performance from
+ this library are:
+ </p>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+ Turn on your compilers optimisations: the difference between "release"
+ and "debug" builds can easily be a <a class="link" href="getting_best.html" title="Getting the Best Performance from this Library">factor
+ of 20</a>.
+ </li>
+<li class="listitem">
+ Pick your compiler carefully: <a class="link" href="comp_compilers.html" title="Comparing Compilers">performance
+ differences of up to 8 fold</a> have been found between some Windows
+ compilers for example.
+ </li>
+</ol></div>
+<p>
+ The <a class="link" href="../perf.html" title="Performance">performance section</a> contains
+ more information on the performance of this library, what you can do to fine
+ tune it, and how this library compares to some other open source alternatives.
+ </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 &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
+ Lalande, Johan R&#229;de, Gautam Sewani and Thijs van den Berg<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../perf.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="interp.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/perf/perf_test_app.html b/libs/math/doc/sf_and_dist/html/math_toolkit/perf/perf_test_app.html
new file mode 100644
index 0000000000..8dd6928e11
--- /dev/null
+++ b/libs/math/doc/sf_and_dist/html/math_toolkit/perf/perf_test_app.html
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>The Performance Test Application</title>
+<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Math Toolkit">
+<link rel="up" href="../perf.html" title="Performance">
+<link rel="prev" href="comparisons.html" title="Comparisons to Other Open Source Libraries">
+<link rel="next" href="../backgrounders.html" title="Backgrounders">
+</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"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="comparisons.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../backgrounders.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section math_toolkit_perf_perf_test_app">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.perf.perf_test_app"></a><a class="link" href="perf_test_app.html" title="The Performance Test Application">The Performance Test
+ Application</a>
+</h3></div></div></div>
+<p>
+ Under <span class="emphasis"><em>boost-path</em></span>/libs/math/performance you will find
+ a (fairly rudimentary) performance test application for this library.
+ </p>
+<p>
+ To run this application yourself, build the all the .cpp files in <span class="emphasis"><em>boost-path</em></span>/libs/math/performance
+ into an application using your usual release-build settings. Run the application
+ with --help to see a full list of options, or with --all to test everything
+ (which takes quite a while), or with --tune to test the <a class="link" href="tuning.html" title="Performance Tuning Macros">available
+ performance tuning options</a>.
+ </p>
+<p>
+ If you want to use this application to test the effect of changing any of
+ the <a class="link" href="../policy.html" title="Policies">Policies</a>, then you will need
+ to build and run it twice: once with the default <a class="link" href="../policy.html" title="Policies">Policies</a>,
+ and then a second time with the <a class="link" href="../policy.html" title="Policies">Policies</a>
+ you want to test set as the default.
+ </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 &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
+ Lalande, Johan R&#229;de, Gautam Sewani and Thijs van den Berg<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="comparisons.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../backgrounders.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>
diff --git a/libs/math/doc/sf_and_dist/html/math_toolkit/perf/tuning.html b/libs/math/doc/sf_and_dist/html/math_toolkit/perf/tuning.html
new file mode 100644
index 0000000000..7d158c04fd
--- /dev/null
+++ b/libs/math/doc/sf_and_dist/html/math_toolkit/perf/tuning.html
@@ -0,0 +1,901 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Performance Tuning Macros</title>
+<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
+<link rel="home" href="../../index.html" title="Math Toolkit">
+<link rel="up" href="../perf.html" title="Performance">
+<link rel="prev" href="comp_compilers.html" title="Comparing Compilers">
+<link rel="next" href="comparisons.html" title="Comparisons to Other Open Source Libraries">
+</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"><a href="../../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
+<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
+<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="comp_compilers.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="comparisons.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section math_toolkit_perf_tuning">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="math_toolkit.perf.tuning"></a><a class="link" href="tuning.html" title="Performance Tuning Macros">Performance Tuning Macros</a>
+</h3></div></div></div>
+<p>
+ There are a small number of performance tuning options that are determined
+ by configuration macros. These should be set in boost/math/tools/user.hpp;
+ or else reported to the Boost-development mailing list so that the appropriate
+ option for a given compiler and OS platform can be set automatically in our
+ configuration setup.
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Macro
+ </p>
+ </th>
+<th>
+ <p>
+ Meaning
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ BOOST_MATH_POLY_METHOD
+ </p>
+ </td>
+<td>
+ <p>
+ Determines how polynomials and most rational functions are evaluated.
+ Define to one of the values 0, 1, 2 or 3: see below for the meaning
+ of these values.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ BOOST_MATH_RATIONAL_METHOD
+ </p>
+ </td>
+<td>
+ <p>
+ Determines how symmetrical rational functions are evaluated: mostly
+ this only effects how the Lanczos approximation is evaluated, and
+ how the <code class="computeroutput"><span class="identifier">evaluate_rational</span></code>
+ function behaves. Define to one of the values 0, 1, 2 or 3: see
+ below for the meaning of these values.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ BOOST_MATH_MAX_POLY_ORDER
+ </p>
+ </td>
+<td>
+ <p>
+ The maximum order of polynomial or rational function that will
+ be evaluated by a method other than 0 (a simple "for"
+ loop).
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ BOOST_MATH_INT_TABLE_TYPE(RT, IT)
+ </p>
+ </td>
+<td>
+ <p>
+ Many of the coefficients to the polynomials and rational functions
+ used by this library are integers. Normally these are stored as
+ tables as integers, but if mixed integer / floating point arithmetic
+ is much slower than regular floating point arithmetic then they
+ can be stored as tables of floating point values instead. If mixed
+ arithmetic is slow then add:
+ </p>
+ <p>
+ #define BOOST_MATH_INT_TABLE_TYPE(RT, IT) RT
+ </p>
+ <p>
+ to boost/math/tools/user.hpp, otherwise the default of:
+ </p>
+ <p>
+ #define BOOST_MATH_INT_TABLE_TYPE(RT, IT) IT
+ </p>
+ <p>
+ Set in boost/math/config.hpp is fine, and may well result in smaller
+ code.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The values to which <code class="computeroutput"><span class="identifier">BOOST_MATH_POLY_METHOD</span></code>
+ and <code class="computeroutput"><span class="identifier">BOOST_MATH_RATIONAL_METHOD</span></code>
+ may be set are as follows:
+ </p>
+<div class="informaltable"><table class="table">
+<colgroup>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Value
+ </p>
+ </th>
+<th>
+ <p>
+ Effect
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ 0
+ </p>
+ </td>
+<td>
+ <p>
+ The polynomial or rational function is evaluated using Horner's
+ method, and a simple for-loop.
+ </p>
+ <p>
+ Note that if the order of the polynomial or rational function is
+ a runtime parameter, or the order is greater than the value of
+ <code class="computeroutput"><span class="identifier">BOOST_MATH_MAX_POLY_ORDER</span></code>,
+ then this method is always used, irrespective of the value of
+ <code class="computeroutput"><span class="identifier">BOOST_MATH_POLY_METHOD</span></code>
+ or <code class="computeroutput"><span class="identifier">BOOST_MATH_RATIONAL_METHOD</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 1
+ </p>
+ </td>
+<td>
+ <p>
+ The polynomial or rational function is evaluated without the use
+ of a loop, and using Horner's method. This only occurs if the order
+ of the polynomial is known at compile time and is less than or
+ equal to <code class="computeroutput"><span class="identifier">BOOST_MATH_MAX_POLY_ORDER</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 2
+ </p>
+ </td>
+<td>
+ <p>
+ The polynomial or rational function is evaluated without the use
+ of a loop, and using a second order Horner's method. In theory
+ this permits two operations to occur in parallel for polynomials,
+ and four in parallel for rational functions. This only occurs if
+ the order of the polynomial is known at compile time and is less
+ than or equal to <code class="computeroutput"><span class="identifier">BOOST_MATH_MAX_POLY_ORDER</span></code>.
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ 3
+ </p>
+ </td>
+<td>
+ <p>
+ The polynomial or rational function is evaluated without the use
+ of a loop, and using a second order Horner's method. In theory
+ this permits two operations to occur in parallel for polynomials,
+ and four in parallel for rational functions. This differs from
+ method "2" in that the code is carefully ordered to make
+ the parallelisation more obvious to the compiler: rather than relying
+ on the compiler's optimiser to spot the parallelisation opportunities.
+ This only occurs if the order of the polynomial is known at compile
+ time and is less than or equal to <code class="computeroutput"><span class="identifier">BOOST_MATH_MAX_POLY_ORDER</span></code>.
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ To determine which of these options is best for your particular compiler/platform
+ build the performance test application with your usual release settings,
+ and run the program with the --tune command line option.
+ </p>
+<p>
+ In practice the difference between methods is rather small at present, as
+ the following table shows. However, parallelisation /vectorisation is likely
+ to become more important in the future: quite likely the methods currently
+ supported will need to be supplemented or replaced by ones more suited to
+ highly vectorisable processors in the future.
+ </p>
+<div class="table">
+<a name="math_toolkit.perf.tuning.a_comparison_of_polynomial_evaluation_methods"></a><p class="title"><b>Table&#160;53.&#160;A Comparison of Polynomial Evaluation Methods</b></p>
+<div class="table-contents"><table class="table" summary="A Comparison of Polynomial Evaluation Methods">
+<colgroup>
+<col>
+<col>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Compiler/platform
+ </p>
+ </th>
+<th>
+ <p>
+ Method 0
+ </p>
+ </th>
+<th>
+ <p>
+ Method 1
+ </p>
+ </th>
+<th>
+ <p>
+ Method 2
+ </p>
+ </th>
+<th>
+ <p>
+ Method 3
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ Microsoft C++ 9.0, Polynomial evaluation
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.26</p>
+<p> </p>
+<p>(7.421e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.22</p>
+<p> </p>
+<p>(7.226e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(5.901e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.04</p>
+<p> </p>
+<p>(6.115e-008s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Microsoft C++ 9.0, Rational evaluation
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.008e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.008e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.43</p>
+<p> </p>
+<p>(1.445e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.40</p>
+<p> </p>
+<p>(1.409e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Intel C++ 11.1 (Windows), Polynomial evaluation
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.18</p>
+<p> </p>
+<p>(6.517e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.18</p>
+<p> </p>
+<p>(6.505e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(5.516e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(5.516e-008s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Intel C++ 11.1 (Windows), Rational evaluation
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(8.947e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.02</p>
+<p> </p>
+<p>(9.130e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.49</p>
+<p> </p>
+<p>(1.333e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.04</p>
+<p> </p>
+<p>(9.325e-008s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ GNU G++ 4.2 (Linux), Polynomial evaluation
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.61</p>
+<p> </p>
+<p>(1.220e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.68</p>
+<p> </p>
+<p>(1.269e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.23</p>
+<p> </p>
+<p>(9.275e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(7.566e-008s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ GNU G++ 4.2 (Linux), Rational evaluation
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.26</p>
+<p> </p>
+<p>(1.660e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.33</p>
+<p> </p>
+<p>(1.758e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.318e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.15</p>
+<p> </p>
+<p>(1.513e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Intel C++ 10.0 (Linux), Polynomial evaluation
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.15</p>
+<p> </p>
+<p>(9.154e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.15</p>
+<p> </p>
+<p>(9.154e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(7.934e-008s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(7.934e-008s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ Intel C++ 10.0 (Linux), Rational evaluation
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.245e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.245e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.35</p>
+<p> </p>
+<p>(1.684e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.04</p>
+<p> </p>
+<p>(1.294e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break"><p>
+ There is one final performance tuning option that is available as a compile
+ time <a class="link" href="../policy.html" title="Policies">policy</a>. Normally when evaluating
+ functions at <code class="computeroutput"><span class="keyword">double</span></code> precision,
+ these are actually evaluated at <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code> precision internally: this
+ helps to ensure that as close to full <code class="computeroutput"><span class="keyword">double</span></code>
+ precision as possible is achieved, but may slow down execution in some environments.
+ The defaults for this policy can be changed by <a class="link" href="../policy/pol_ref/policy_defaults.html" title="Using Macros to Change the Policy Defaults">defining
+ the macro <code class="computeroutput"><span class="identifier">BOOST_MATH_PROMOTE_DOUBLE_POLICY</span></code></a>
+ to <code class="computeroutput"><span class="keyword">false</span></code>, or <a class="link" href="../policy/pol_ref/internal_promotion.html" title="Internal Floating-point Promotion Policies">by
+ specifying a specific policy</a> when calling the special functions or
+ distributions. See also the <a class="link" href="../policy/pol_tutorial.html" title="Policy Tutorial">policy
+ tutorial</a>.
+ </p>
+<div class="table">
+<a name="math_toolkit.perf.tuning.performance_comparison_with_and_without_internal_promotion_to_long_double"></a><p class="title"><b>Table&#160;54.&#160;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">
+<colgroup>
+<col>
+<col>
+<col>
+</colgroup>
+<thead><tr>
+<th>
+ <p>
+ Function
+ </p>
+ </th>
+<th>
+ <p>
+ GCC 4.2 , Linux
+ </p>
+ <p>
+ (with internal promotion of double to long double).
+ </p>
+ </th>
+<th>
+ <p>
+ GCC 4.2, Linux
+ </p>
+ <p>
+ (without promotion of double).
+ </p>
+ </th>
+</tr></thead>
+<tbody>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/sf_erf/error_function.html" title="Error Functions">erf</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.48</p>
+<p> </p>
+<p>(1.387e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(9.377e-008s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/sf_erf/error_inv.html" title="Error Function Inverses">erf_inv</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.11</p>
+<p> </p>
+<p>(4.009e-007s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(3.598e-007s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibeta</a>
+ and <a class="link" href="../special/sf_beta/ibeta_function.html" title="Incomplete Beta Functions">ibetac</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.29</p>
+<p> </p>
+<p>(5.354e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(4.137e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inv</a>
+ and <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_inv</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.44</p>
+<p> </p>
+<p>(2.220e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(1.538e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_inva</a>,
+ <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_inva</a>,
+ <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibeta_invb</a>
+ and <a class="link" href="../special/sf_beta/ibeta_inv_function.html" title="The Incomplete Beta Function Inverses">ibetac_invb</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.25</p>
+<p> </p>
+<p>(7.009e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(5.607e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_p</a>
+ and <a class="link" href="../special/sf_gamma/igamma.html" title="Incomplete Gamma Functions">gamma_q</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.26</p>
+<p> </p>
+<p>(3.116e-006s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(2.464e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inv</a>
+ and <a class="link" href="../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inv</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.27</p>
+<p> </p>
+<p>(1.178e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(9.291e-006s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+<tr>
+<td>
+ <p>
+ <a class="link" href="../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_p_inva</a>
+ and <a class="link" href="../special/sf_gamma/igamma_inv.html" title="Incomplete Gamma Function Inverses">gamma_q_inva</a>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p>1.20</p>
+<p> </p>
+<p>(2.765e-005s)</p>
+<p>
+ </p>
+ </td>
+<td>
+ <p>
+ </p>
+<p><span class="bold"><strong>1.00</strong></span></p>
+<p> </p>
+<p>(2.311e-005s)</p>
+<p>
+ </p>
+ </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</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 &#169; 2006-2010 John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno
+ Lalande, Johan R&#229;de, Gautam Sewani and Thijs van den Berg<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="comp_compilers.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../perf.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="comparisons.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>