summaryrefslogtreecommitdiff
path: root/libs/multiprecision
diff options
context:
space:
mode:
authorDongHun Kwak <dh0128.kwak@samsung.com>2016-03-21 15:45:20 +0900
committerDongHun Kwak <dh0128.kwak@samsung.com>2016-03-21 15:46:37 +0900
commit733b5d5ae2c5d625211e2985ac25728ac3f54883 (patch)
treea5b214744b256f07e1dc2bd7273035a7808c659f /libs/multiprecision
parent08c1e93fa36a49f49325a07fe91ff92c964c2b6c (diff)
downloadboost-733b5d5ae2c5d625211e2985ac25728ac3f54883.tar.gz
boost-733b5d5ae2c5d625211e2985ac25728ac3f54883.tar.bz2
boost-733b5d5ae2c5d625211e2985ac25728ac3f54883.zip
Imported Upstream version 1.58.0upstream/1.58.0
Change-Id: If0072143aa26874812e0db6872e1efb10a3e5e94 Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
Diffstat (limited to 'libs/multiprecision')
-rw-r--r--libs/multiprecision/config/has_gmp.cpp1
-rw-r--r--libs/multiprecision/config/has_mpfi.cpp1
-rw-r--r--libs/multiprecision/config/has_mpfr.cpp1
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/indexes.html4
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/indexes/s01.html14
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/indexes/s02.html4
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/indexes/s03.html4
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/indexes/s04.html9
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/intro.html6
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/map.html4
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/map/ack.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/map/faq.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/map/hist.html41
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/map/todo.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/perf.html4
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/perf/float_performance.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/perf/int_real_world.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/perf/integer_performance.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/perf/overhead.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/perf/rational_performance.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/perf/realworld.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/ref.html4
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/ref/backendconc.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/ref/cpp_bin_float_ref.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/ref/cpp_dec_ref.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/ref/cpp_int_ref.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/ref/gmp_int_ref.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/ref/headers.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/ref/internals.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/ref/mpf_ref.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/ref/mpfr_ref.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/ref/number.html4
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/ref/tom_int_ref.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut.html4
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/conversions.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/floats.html4
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/floats/cpp_bin_float.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/floats/cpp_dec_float.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/floats/float128.html6
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/floats/fp_eg.html4
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/floats/fp_eg/aos.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/floats/fp_eg/gi.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/floats/fp_eg/jel.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/floats/fp_eg/nd.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/floats/fp_eg/poly_eg.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/floats/gmp_float.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/floats/mpfr_float.html6
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/gen_int.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/input_output.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/interval.html4
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/interval/mpfi.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/ints.html4
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/ints/cpp_int.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/ints/egs.html4
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/ints/egs/bitops.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/ints/egs/factorials.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/ints/gmp_int.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/ints/tom_int.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/limits.html4
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/limits/constants.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/limits/functions.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/limits/how_to_tell.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/limits/limits32.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/lits.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/misc.html4
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/misc/debug_adaptor.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/misc/logged_adaptor.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/misc/visualizers.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/mixed.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/primetest.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/random.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/rational.html4
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/rational/br.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/rational/cpp_rational.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/rational/gmp_rational.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/rational/rational_adaptor.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/rational/tommath_rational.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/rounding.html2
-rw-r--r--libs/multiprecision/doc/html/boost_multiprecision/tut/serial.html2
-rw-r--r--libs/multiprecision/doc/html/index.html6
-rw-r--r--libs/multiprecision/doc/multiprecision.qbk9
-rw-r--r--libs/multiprecision/example/Jamfile.v27
-rw-r--r--libs/multiprecision/performance/arithmetic_backend.hpp51
-rw-r--r--libs/multiprecision/performance/performance_test.cpp2
-rw-r--r--libs/multiprecision/test/Jamfile.v28
-rw-r--r--libs/multiprecision/test/test_nothrow_cpp_bin_float.cpp53
-rw-r--r--libs/multiprecision/test/test_nothrow_cpp_dec_float.cpp53
-rw-r--r--libs/multiprecision/test/test_nothrow_cpp_int.cpp250
-rw-r--r--libs/multiprecision/test/test_nothrow_cpp_rational.cpp208
-rw-r--r--libs/multiprecision/test/test_nothrow_float128.cpp53
-rw-r--r--libs/multiprecision/test/test_nothrow_gmp.cpp38
-rw-r--r--libs/multiprecision/test/test_nothrow_mpfr.cpp36
92 files changed, 905 insertions, 126 deletions
diff --git a/libs/multiprecision/config/has_gmp.cpp b/libs/multiprecision/config/has_gmp.cpp
index 8bb1fe7dc7..3327983052 100644
--- a/libs/multiprecision/config/has_gmp.cpp
+++ b/libs/multiprecision/config/has_gmp.cpp
@@ -3,6 +3,7 @@
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+#include <cstddef> // See https://gcc.gnu.org/gcc-4.9/porting_to.html
#include <gmp.h>
#include <boost/config.hpp>
diff --git a/libs/multiprecision/config/has_mpfi.cpp b/libs/multiprecision/config/has_mpfi.cpp
index b0e93e50d7..0bb35645ad 100644
--- a/libs/multiprecision/config/has_mpfi.cpp
+++ b/libs/multiprecision/config/has_mpfi.cpp
@@ -3,6 +3,7 @@
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+#include <cstddef> // See https://gcc.gnu.org/gcc-4.9/porting_to.html
#include <mpfi.h>
#include <boost/config.hpp>
diff --git a/libs/multiprecision/config/has_mpfr.cpp b/libs/multiprecision/config/has_mpfr.cpp
index 86101a3804..add5853ca3 100644
--- a/libs/multiprecision/config/has_mpfr.cpp
+++ b/libs/multiprecision/config/has_mpfr.cpp
@@ -3,6 +3,7 @@
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+#include <cstddef> // See https://gcc.gnu.org/gcc-4.9/porting_to.html
#include <mpfr.h>
#include <boost/config.hpp>
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/indexes.html b/libs/multiprecision/doc/html/boost_multiprecision/indexes.html
index 4e16e2c321..01be08485f 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/indexes.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/indexes.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Indexes</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="prev" href="map/ack.html" title="Acknowledgements">
@@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_multiprecision.indexes"></a><a class="link" href="indexes.html" title="Indexes">Indexes</a>
</h2></div></div></div>
-<div class="toc"><dl class="toc">
+<div class="toc"><dl>
<dt><span class="section"><a href="indexes/s01.html">Function Index</a></span></dt>
<dt><span class="section"><a href="indexes/s02.html">Class Index</a></span></dt>
<dt><span class="section"><a href="indexes/s03.html">Typedef Index</a></span></dt>
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/indexes/s01.html b/libs/multiprecision/doc/html/boost_multiprecision/indexes/s01.html
index 37b47baccf..26bb2fd216 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/indexes/s01.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/indexes/s01.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Function Index</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../indexes.html" title="Indexes">
<link rel="prev" href="../indexes.html" title="Indexes">
@@ -24,7 +24,7 @@
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idm1549766464"></a>Function Index</h3></div></div></div>
+<a name="id1016984"></a>Function Index</h3></div></div></div>
<p><a class="link" href="s01.html#idx_id_0">A</a> <a class="link" href="s01.html#idx_id_1">B</a> <a class="link" href="s01.html#idx_id_2">C</a> <a class="link" href="s01.html#idx_id_3">D</a> <a class="link" href="s01.html#idx_id_4">E</a> <a class="link" href="s01.html#idx_id_5">F</a> <a class="link" href="s01.html#idx_id_7">I</a> <a class="link" href="s01.html#idx_id_8">L</a> <a class="link" href="s01.html#idx_id_9">M</a> <a class="link" href="s01.html#idx_id_11">O</a> <a class="link" href="s01.html#idx_id_12">P</a> <a class="link" href="s01.html#idx_id_13">R</a> <a class="link" href="s01.html#idx_id_14">S</a> <a class="link" href="s01.html#idx_id_15">T</a> <a class="link" href="s01.html#idx_id_17">V</a> <a class="link" href="s01.html#idx_id_18">Z</a></p>
<div class="variablelist"><dl class="variablelist">
<dt>
@@ -388,10 +388,16 @@
<dt>
<a name="idx_id_5"></a><span class="term">F</span>
</dt>
-<dd><div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none">
+<dd><div class="index"><ul class="index" style="list-style-type: none; ">
+<li class="listitem" style="list-style-type: none">
<p><span class="index-entry-level-0">fpclassify</span></p>
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../ref/number.html" title="number"><span class="index-entry-level-1">number</span></a></p></li></ul></div>
-</li></ul></div></dd>
+</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">frexp</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../ref/number.html" title="number"><span class="index-entry-level-1">number</span></a></p></li></ul></div>
+</li>
+</ul></div></dd>
<dt>
<a name="idx_id_7"></a><span class="term">I</span>
</dt>
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/indexes/s02.html b/libs/multiprecision/doc/html/boost_multiprecision/indexes/s02.html
index 4833265295..f813261387 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/indexes/s02.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/indexes/s02.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Class Index</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../indexes.html" title="Indexes">
<link rel="prev" href="s01.html" title="Function Index">
@@ -24,7 +24,7 @@
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idm1549437632"></a>Class Index</h3></div></div></div>
+<a name="id1023659"></a>Class Index</h3></div></div></div>
<p><a class="link" href="s02.html#idx_id_21">C</a> <a class="link" href="s02.html#idx_id_22">D</a> <a class="link" href="s02.html#idx_id_23">E</a> <a class="link" href="s02.html#idx_id_24">F</a> <a class="link" href="s02.html#idx_id_25">G</a> <a class="link" href="s02.html#idx_id_26">I</a> <a class="link" href="s02.html#idx_id_27">L</a> <a class="link" href="s02.html#idx_id_28">M</a> <a class="link" href="s02.html#idx_id_29">N</a> <a class="link" href="s02.html#idx_id_34">T</a></p>
<div class="variablelist"><dl class="variablelist">
<dt>
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/indexes/s03.html b/libs/multiprecision/doc/html/boost_multiprecision/indexes/s03.html
index 071d5bfb4e..048f054d59 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/indexes/s03.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/indexes/s03.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Typedef Index</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../indexes.html" title="Indexes">
<link rel="prev" href="s02.html" title="Class Index">
@@ -24,7 +24,7 @@
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idm1549381056"></a>Typedef Index</h3></div></div></div>
+<a name="id1021923"></a>Typedef Index</h3></div></div></div>
<p><a class="link" href="s03.html#idx_id_40">C</a> <a class="link" href="s03.html#idx_id_43">F</a> <a class="link" href="s03.html#idx_id_45">I</a> <a class="link" href="s03.html#idx_id_46">L</a> <a class="link" href="s03.html#idx_id_47">M</a> <a class="link" href="s03.html#idx_id_52">S</a> <a class="link" href="s03.html#idx_id_53">T</a> <a class="link" href="s03.html#idx_id_54">U</a></p>
<div class="variablelist"><dl class="variablelist">
<dt>
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/indexes/s04.html b/libs/multiprecision/doc/html/boost_multiprecision/indexes/s04.html
index 5ed87b4e90..4391d933dd 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/indexes/s04.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/indexes/s04.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Index</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../indexes.html" title="Indexes">
<link rel="prev" href="s03.html" title="Typedef Index">
@@ -23,7 +23,7 @@
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
-<a name="idm1549250240"></a>Index</h3></div></div></div>
+<a name="id1023143"></a>Index</h3></div></div></div>
<p><a class="link" href="s04.html#idx_id_57">A</a> <a class="link" href="s04.html#idx_id_58">B</a> <a class="link" href="s04.html#idx_id_59">C</a> <a class="link" href="s04.html#idx_id_60">D</a> <a class="link" href="s04.html#idx_id_61">E</a> <a class="link" href="s04.html#idx_id_62">F</a> <a class="link" href="s04.html#idx_id_63">G</a> <a class="link" href="s04.html#idx_id_64">I</a> <a class="link" href="s04.html#idx_id_65">L</a> <a class="link" href="s04.html#idx_id_66">M</a> <a class="link" href="s04.html#idx_id_67">N</a> <a class="link" href="s04.html#idx_id_68">O</a> <a class="link" href="s04.html#idx_id_69">P</a> <a class="link" href="s04.html#idx_id_70">R</a> <a class="link" href="s04.html#idx_id_71">S</a> <a class="link" href="s04.html#idx_id_72">T</a> <a class="link" href="s04.html#idx_id_73">U</a> <a class="link" href="s04.html#idx_id_74">V</a> <a class="link" href="s04.html#idx_id_75">Z</a></p>
<div class="variablelist"><dl class="variablelist">
<dt>
@@ -616,6 +616,10 @@
<p><span class="index-entry-level-0">fpclassify</span></p>
<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../ref/number.html" title="number"><span class="index-entry-level-1">number</span></a></p></li></ul></div>
</li>
+<li class="listitem" style="list-style-type: none">
+<p><span class="index-entry-level-0">frexp</span></p>
+<div class="index"><ul class="index" style="list-style-type: none; "><li class="listitem" style="list-style-type: none"><p><a class="link" href="../ref/number.html" title="number"><span class="index-entry-level-1">number</span></a></p></li></ul></div>
+</li>
</ul></div></dd>
<dt>
<a name="idx_id_63"></a><span class="term">G</span>
@@ -1034,6 +1038,7 @@
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../ref/number.html" title="number"><span class="index-entry-level-1">divide_qr</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../ref/number.html" title="number"><span class="index-entry-level-1">expression_template_default</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../ref/number.html" title="number"><span class="index-entry-level-1">fpclassify</span></a></p></li>
+<li class="listitem" style="list-style-type: none"><p><a class="link" href="../ref/number.html" title="number"><span class="index-entry-level-1">frexp</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../ref/number.html" title="number"><span class="index-entry-level-1">ilogb</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../ref/number.html" title="number"><span class="index-entry-level-1">integer_modulus</span></a></p></li>
<li class="listitem" style="list-style-type: none"><p><a class="link" href="../ref/number.html" title="number"><span class="index-entry-level-1">iround</span></a></p></li>
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/intro.html b/libs/multiprecision/doc/html/boost_multiprecision/intro.html
index d19421baac..146c29374d 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/intro.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/intro.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Introduction</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="prev" href="../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
@@ -257,7 +257,7 @@
to pretty much zero). Note that if we compile with expression templates disabled
and rvalue-reference support on, then actually still have no wasted memory
allocations as even though temporaries are created, their contents are moved
- rather than copied. <a href="#ftn.boost_multiprecision.intro.f0" class="footnote" name="boost_multiprecision.intro.f0"><sup class="footnote">[1]</sup></a>
+ rather than copied. <a href="#ftn.boost_multiprecision.intro.f0" class="footnote"><sup class="footnote"><a name="boost_multiprecision.intro.f0"></a>[1]</sup></a>
</p>
<div class="important"><table border="0" summary="Important">
<tr>
@@ -686,7 +686,7 @@
optimizations on (/Ox), with MPFR 3.0 and MPIR 2.3.0.
</p>
<div class="footnotes">
-<br><hr style="width:100; text-align:left;margin-left: 0">
+<br><hr style="width:100; align:left;">
<div id="ftn.boost_multiprecision.intro.f0" class="footnote"><p><a href="#boost_multiprecision.intro.f0" class="para"><sup class="para">[1] </sup></a>
The actual number generated will depend on the compiler, how well it optimises
the code, and whether it supports rvalue references. The number of 11 temporaries
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/map.html b/libs/multiprecision/doc/html/boost_multiprecision/map.html
index f5e451c61d..ef8936f273 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/map.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/map.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Roadmap</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="prev" href="perf/rational_performance.html" title="Rational Type Performance">
@@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_multiprecision.map"></a><a class="link" href="map.html" title="Roadmap">Roadmap</a>
</h2></div></div></div>
-<div class="toc"><dl class="toc">
+<div class="toc"><dl>
<dt><span class="section"><a href="map/hist.html">History</a></span></dt>
<dt><span class="section"><a href="map/todo.html">TODO</a></span></dt>
<dt><span class="section"><a href="map/faq.html">FAQ</a></span></dt>
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/map/ack.html b/libs/multiprecision/doc/html/boost_multiprecision/map/ack.html
index 23a4f32240..722e8da736 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/map/ack.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/map/ack.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Acknowledgements</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../map.html" title="Roadmap">
<link rel="prev" href="faq.html" title="FAQ">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/map/faq.html b/libs/multiprecision/doc/html/boost_multiprecision/map/faq.html
index 3eb2ac3528..59730866b9 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/map/faq.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/map/faq.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>FAQ</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../map.html" title="Roadmap">
<link rel="prev" href="todo.html" title="TODO">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/map/hist.html b/libs/multiprecision/doc/html/boost_multiprecision/map/hist.html
index c8469f448b..047fbe939f 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/map/hist.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/map/hist.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>History</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../map.html" title="Roadmap">
<link rel="prev" href="../map.html" title="Roadmap">
@@ -28,13 +28,34 @@
</h3></div></div></div>
<h5>
<a name="boost_multiprecision.map.hist.h0"></a>
+ <span class="phrase"><a name="boost_multiprecision.map.hist.multiprecision_2_2_4_boost_1_58"></a></span><a class="link" href="hist.html#boost_multiprecision.map.hist.multiprecision_2_2_4_boost_1_58">Multiprecision-2.2.4
+ (Boost-1.58)</a>
+ </h5>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+ Changed <code class="computeroutput"><span class="identifier">frexp</span></code> to always
+ be non-expression template generating, see: <a href="https://svn.boost.org/trac/boost/ticket/10993" target="_top">10993</a>.
+ </li>
+<li class="listitem">
+ Improved support of cpp_dec_float on Cygwin and other platforms with
+ missing long double support, see <a href="https://svn.boost.org/trac/boost/ticket/10924" target="_top">10924</a>.
+ </li>
+<li class="listitem">
+ Improved noexcept support and added some more tests, see <a href="https://svn.boost.org/trac/boost/ticket/10990" target="_top">10990</a>.
+ </li>
+<li class="listitem">
+ Various workarounds applied for Intel-15.0 and Solaris-12.4 compilers.
+ </li>
+</ul></div>
+<h5>
+<a name="boost_multiprecision.map.hist.h1"></a>
<span class="phrase"><a name="boost_multiprecision.map.hist.multiprecision_2_2_3_boost_1_57"></a></span><a class="link" href="hist.html#boost_multiprecision.map.hist.multiprecision_2_2_3_boost_1_57">Multiprecision-2.2.3
(Boost-1.57)</a>
</h5>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
Changed rational to float conversions to exactly round to nearest, see
- [https://svn.boost.org/trac/boost/ticket/10085 10085].
+ <a href="https://svn.boost.org/trac/boost/ticket/10085" target="_top">10085</a>.
</li>
<li class="listitem">
Added improved generic float to rational conversions.
@@ -47,7 +68,7 @@
</li>
</ul></div>
<h5>
-<a name="boost_multiprecision.map.hist.h1"></a>
+<a name="boost_multiprecision.map.hist.h2"></a>
<span class="phrase"><a name="boost_multiprecision.map.hist.multiprecision_2_2_2_boost_1_56"></a></span><a class="link" href="hist.html#boost_multiprecision.map.hist.multiprecision_2_2_2_boost_1_56">Multiprecision-2.2.2
(Boost-1.56)</a>
</h5>
@@ -60,14 +81,14 @@
</li>
</ul></div>
<h5>
-<a name="boost_multiprecision.map.hist.h2"></a>
+<a name="boost_multiprecision.map.hist.h3"></a>
<span class="phrase"><a name="boost_multiprecision.map.hist.multiprecision_2_2_1"></a></span><a class="link" href="hist.html#boost_multiprecision.map.hist.multiprecision_2_2_1">Multiprecision-2.2.1</a>
</h5>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
Fix bug in assignment from string in cpp_int, see <a href="https://svn.boost.org/trac/boost/ticket/9936" target="_top">9936</a>.
</li></ul></div>
<h5>
-<a name="boost_multiprecision.map.hist.h3"></a>
+<a name="boost_multiprecision.map.hist.h4"></a>
<span class="phrase"><a name="boost_multiprecision.map.hist.multiprecision_2_2_0"></a></span><a class="link" href="hist.html#boost_multiprecision.map.hist.multiprecision_2_2_0">Multiprecision-2.2.0</a>
</h5>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
@@ -95,7 +116,7 @@
</li>
</ul></div>
<h5>
-<a name="boost_multiprecision.map.hist.h4"></a>
+<a name="boost_multiprecision.map.hist.h5"></a>
<span class="phrase"><a name="boost_multiprecision.map.hist.boost_1_55"></a></span><a class="link" href="hist.html#boost_multiprecision.map.hist.boost_1_55">Boost-1.55</a>
</h5>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
@@ -133,7 +154,7 @@
</li>
</ul></div>
<h5>
-<a name="boost_multiprecision.map.hist.h5"></a>
+<a name="boost_multiprecision.map.hist.h6"></a>
<span class="phrase"><a name="boost_multiprecision.map.hist.1_54"></a></span><a class="link" href="hist.html#boost_multiprecision.map.hist.1_54">1.54</a>
</h5>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
@@ -188,7 +209,7 @@
</li>
</ul></div>
<h5>
-<a name="boost_multiprecision.map.hist.h6"></a>
+<a name="boost_multiprecision.map.hist.h7"></a>
<span class="phrase"><a name="boost_multiprecision.map.hist.1_53"></a></span><a class="link" href="hist.html#boost_multiprecision.map.hist.1_53">1.53</a>
</h5>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
@@ -204,7 +225,7 @@
</li>
</ul></div>
<h5>
-<a name="boost_multiprecision.map.hist.h7"></a>
+<a name="boost_multiprecision.map.hist.h8"></a>
<span class="phrase"><a name="boost_multiprecision.map.hist.post_review_changes"></a></span><a class="link" href="hist.html#boost_multiprecision.map.hist.post_review_changes">Post
review changes</a>
</h5>
@@ -258,7 +279,7 @@
</li>
</ul></div>
<h5>
-<a name="boost_multiprecision.map.hist.h8"></a>
+<a name="boost_multiprecision.map.hist.h9"></a>
<span class="phrase"><a name="boost_multiprecision.map.hist.pre_review_history"></a></span><a class="link" href="hist.html#boost_multiprecision.map.hist.pre_review_history">Pre-review
history</a>
</h5>
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/map/todo.html b/libs/multiprecision/doc/html/boost_multiprecision/map/todo.html
index 067af586b0..dae4e4e478 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/map/todo.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/map/todo.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>TODO</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../map.html" title="Roadmap">
<link rel="prev" href="hist.html" title="History">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/perf.html b/libs/multiprecision/doc/html/boost_multiprecision/perf.html
index f4cd63d2e0..19855e0bdb 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/perf.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/perf.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Performance Comparison</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="prev" href="ref/headers.html" title="Header File Structure">
@@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_multiprecision.perf"></a><a class="link" href="perf.html" title="Performance Comparison">Performance Comparison</a>
</h2></div></div></div>
-<div class="toc"><dl class="toc">
+<div class="toc"><dl>
<dt><span class="section"><a href="perf/overhead.html">The Overhead in the
Number Class Wrapper</a></span></dt>
<dt><span class="section"><a href="perf/realworld.html">Floating-Point Real
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/perf/float_performance.html b/libs/multiprecision/doc/html/boost_multiprecision/perf/float_performance.html
index 4c0a963759..5c860a2422 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/perf/float_performance.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/perf/float_performance.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Float Algorithm Performance</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../perf.html" title="Performance Comparison">
<link rel="prev" href="int_real_world.html" title="Integer Real World Tests">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/perf/int_real_world.html b/libs/multiprecision/doc/html/boost_multiprecision/perf/int_real_world.html
index 7c8946099c..d734c0161a 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/perf/int_real_world.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/perf/int_real_world.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Integer Real World Tests</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../perf.html" title="Performance Comparison">
<link rel="prev" href="realworld.html" title="Floating-Point Real World Tests">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/perf/integer_performance.html b/libs/multiprecision/doc/html/boost_multiprecision/perf/integer_performance.html
index dbc6f2a63a..65f569d99c 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/perf/integer_performance.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/perf/integer_performance.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Integer Algorithm Performance</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../perf.html" title="Performance Comparison">
<link rel="prev" href="float_performance.html" title="Float Algorithm Performance">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/perf/overhead.html b/libs/multiprecision/doc/html/boost_multiprecision/perf/overhead.html
index 0bda9c57c6..3124b22742 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/perf/overhead.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/perf/overhead.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>The Overhead in the Number Class Wrapper</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../perf.html" title="Performance Comparison">
<link rel="prev" href="../perf.html" title="Performance Comparison">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/perf/rational_performance.html b/libs/multiprecision/doc/html/boost_multiprecision/perf/rational_performance.html
index 00c65564ce..4ea0fc99e2 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/perf/rational_performance.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/perf/rational_performance.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Rational Type Performance</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../perf.html" title="Performance Comparison">
<link rel="prev" href="integer_performance.html" title="Integer Algorithm Performance">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/perf/realworld.html b/libs/multiprecision/doc/html/boost_multiprecision/perf/realworld.html
index a847792299..6bd19c08fb 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/perf/realworld.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/perf/realworld.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Floating-Point Real World Tests</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../perf.html" title="Performance Comparison">
<link rel="prev" href="overhead.html" title="The Overhead in the Number Class Wrapper">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/ref.html b/libs/multiprecision/doc/html/boost_multiprecision/ref.html
index 0c1bc8b179..06aaba3c1d 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/ref.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/ref.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Reference</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="prev" href="tut/input_output.html" title="Input Output">
@@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_multiprecision.ref"></a><a class="link" href="ref.html" title="Reference">Reference</a>
</h2></div></div></div>
-<div class="toc"><dl class="toc">
+<div class="toc"><dl>
<dt><span class="section"><a href="ref/number.html">number</a></span></dt>
<dt><span class="section"><a href="ref/cpp_int_ref.html">cpp_int</a></span></dt>
<dt><span class="section"><a href="ref/gmp_int_ref.html">gmp_int</a></span></dt>
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/ref/backendconc.html b/libs/multiprecision/doc/html/boost_multiprecision/ref/backendconc.html
index ff86a64dde..dabdbd4573 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/ref/backendconc.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/ref/backendconc.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Backend Requirements</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../ref.html" title="Reference">
<link rel="prev" href="internals.html" title="Internal Support Code">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/ref/cpp_bin_float_ref.html b/libs/multiprecision/doc/html/boost_multiprecision/ref/cpp_bin_float_ref.html
index 315c32ec7f..9e415febb8 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/ref/cpp_bin_float_ref.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/ref/cpp_bin_float_ref.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>cpp_bin_float</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../ref.html" title="Reference">
<link rel="prev" href="mpfr_ref.html" title="mpfr_float_backend">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/ref/cpp_dec_ref.html b/libs/multiprecision/doc/html/boost_multiprecision/ref/cpp_dec_ref.html
index f786543b92..37ebeadd7a 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/ref/cpp_dec_ref.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/ref/cpp_dec_ref.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>cpp_dec_float</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../ref.html" title="Reference">
<link rel="prev" href="cpp_bin_float_ref.html" title="cpp_bin_float">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/ref/cpp_int_ref.html b/libs/multiprecision/doc/html/boost_multiprecision/ref/cpp_int_ref.html
index c16b92223b..f07b7efe30 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/ref/cpp_int_ref.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/ref/cpp_int_ref.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>cpp_int</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../ref.html" title="Reference">
<link rel="prev" href="number.html" title="number">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/ref/gmp_int_ref.html b/libs/multiprecision/doc/html/boost_multiprecision/ref/gmp_int_ref.html
index adb1ecea4e..0621523fe5 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/ref/gmp_int_ref.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/ref/gmp_int_ref.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>gmp_int</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../ref.html" title="Reference">
<link rel="prev" href="cpp_int_ref.html" title="cpp_int">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/ref/headers.html b/libs/multiprecision/doc/html/boost_multiprecision/ref/headers.html
index d8ff404fe3..0062a020e3 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/ref/headers.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/ref/headers.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Header File Structure</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../ref.html" title="Reference">
<link rel="prev" href="backendconc.html" title="Backend Requirements">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/ref/internals.html b/libs/multiprecision/doc/html/boost_multiprecision/ref/internals.html
index 02a514eade..35dea2a01f 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/ref/internals.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/ref/internals.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Internal Support Code</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../ref.html" title="Reference">
<link rel="prev" href="cpp_dec_ref.html" title="cpp_dec_float">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/ref/mpf_ref.html b/libs/multiprecision/doc/html/boost_multiprecision/ref/mpf_ref.html
index cdfa14f097..e3da2ad4c0 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/ref/mpf_ref.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/ref/mpf_ref.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>gmp_float</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../ref.html" title="Reference">
<link rel="prev" href="tom_int_ref.html" title="tom_int">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/ref/mpfr_ref.html b/libs/multiprecision/doc/html/boost_multiprecision/ref/mpfr_ref.html
index 72ace3a62b..3acde3d46a 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/ref/mpfr_ref.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/ref/mpfr_ref.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>mpfr_float_backend</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../ref.html" title="Reference">
<link rel="prev" href="mpf_ref.html" title="gmp_float">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/ref/number.html b/libs/multiprecision/doc/html/boost_multiprecision/ref/number.html
index b272c7d984..48e0101649 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/ref/number.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/ref/number.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>number</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../ref.html" title="Reference">
<link rel="prev" href="../ref.html" title="Reference">
@@ -968,7 +968,7 @@
</td>
<td>
<p>
- 1045eps<a href="#ftn.boost_multiprecision.ref.number.f0" class="footnote" name="boost_multiprecision.ref.number.f0"><sup class="footnote">[1]</sup></a>
+ 1045eps<a href="#ftn.boost_multiprecision.ref.number.f0" class="footnote"><sup class="footnote"><a name="boost_multiprecision.ref.number.f0"></a>[1]</sup></a>
</p>
</td>
<td>
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/ref/tom_int_ref.html b/libs/multiprecision/doc/html/boost_multiprecision/ref/tom_int_ref.html
index bd48e112a7..bc74016dab 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/ref/tom_int_ref.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/ref/tom_int_ref.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>tom_int</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../ref.html" title="Reference">
<link rel="prev" href="gmp_int_ref.html" title="gmp_int">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut.html b/libs/multiprecision/doc/html/boost_multiprecision/tut.html
index 6c79552511..8f1a5c4580 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Tutorial</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="prev" href="intro.html" title="Introduction">
@@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_multiprecision.tut"></a><a class="link" href="tut.html" title="Tutorial">Tutorial</a>
</h2></div></div></div>
-<div class="toc"><dl class="toc">
+<div class="toc"><dl>
<dt><span class="section"><a href="tut/ints.html">Integer Types</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="tut/ints/cpp_int.html">cpp_int</a></span></dt>
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/conversions.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/conversions.html
index 1550ecef0a..5f20150898 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/conversions.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/conversions.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Constructing and Interconverting Between Number Types</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../tut.html" title="Tutorial">
<link rel="prev" href="misc/visualizers.html" title="Visual C++ Debugger Visualizers">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/floats.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/floats.html
index e99ebb1d42..847bc3dcb3 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/floats.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/floats.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Floating Point Numbers</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../tut.html" title="Tutorial">
<link rel="prev" href="ints/egs/bitops.html" title="Bit Operations">
@@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_multiprecision.tut.floats"></a><a class="link" href="floats.html" title="Floating Point Numbers">Floating Point Numbers</a>
</h3></div></div></div>
-<div class="toc"><dl class="toc">
+<div class="toc"><dl>
<dt><span class="section"><a href="floats/cpp_bin_float.html">cpp_bin_float</a></span></dt>
<dt><span class="section"><a href="floats/cpp_dec_float.html">cpp_dec_float</a></span></dt>
<dt><span class="section"><a href="floats/gmp_float.html">gmp_float</a></span></dt>
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/cpp_bin_float.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/cpp_bin_float.html
index ea235149e7..74c01be892 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/cpp_bin_float.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/cpp_bin_float.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>cpp_bin_float</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../floats.html" title="Floating Point Numbers">
<link rel="prev" href="../floats.html" title="Floating Point Numbers">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/cpp_dec_float.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/cpp_dec_float.html
index 09f5c827d0..b9279929f0 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/cpp_dec_float.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/cpp_dec_float.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>cpp_dec_float</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../floats.html" title="Floating Point Numbers">
<link rel="prev" href="cpp_bin_float.html" title="cpp_bin_float">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/float128.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/float128.html
index e4ba6f389b..21624572bf 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/float128.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/float128.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>float128</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../floats.html" title="Floating Point Numbers">
<link rel="prev" href="mpfr_float.html" title="mpfr_float">
@@ -49,7 +49,7 @@
All the usual standard library and <code class="computeroutput"><span class="identifier">numeric_limits</span></code>
support are available, performance should be equivalent to the underlying
native types: for example the LINPACK benchmarks for GCC's <code class="computeroutput"><a class="link" href="float128.html" title="float128">float128</a></code>
- and <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">float128</span></code> both achieved 5.6 MFLOPS<a href="#ftn.boost_multiprecision.tut.floats.float128.f0" class="footnote" name="boost_multiprecision.tut.floats.float128.f0"><sup class="footnote">[3]</sup></a>.
+ and <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">multiprecision</span><span class="special">::</span><span class="identifier">float128</span></code> both achieved 5.6 MFLOPS<a href="#ftn.boost_multiprecision.tut.floats.float128.f0" class="footnote"><sup class="footnote"><a name="boost_multiprecision.tut.floats.float128.f0"></a>[3]</sup></a>.
</p>
<p>
As well as the usual conversions from arithmetic and string types, instances
@@ -144,7 +144,7 @@
<span class="special">}</span>
</pre>
<div class="footnotes">
-<br><hr style="width:100; text-align:left;margin-left: 0">
+<br><hr style="width:100; align:left;">
<div id="ftn.boost_multiprecision.tut.floats.float128.f0" class="footnote"><p><a href="#boost_multiprecision.tut.floats.float128.f0" class="para"><sup class="para">[3] </sup></a>
On 64-bit Ubuntu 11.10, GCC-4.8.0, Intel Core 2 Duo T5800.
</p></div>
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/fp_eg.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/fp_eg.html
index f3f3aa33ca..18455b7d35 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/fp_eg.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/fp_eg.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Examples</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../floats.html" title="Floating Point Numbers">
<link rel="prev" href="float128.html" title="float128">
@@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_multiprecision.tut.floats.fp_eg"></a><a class="link" href="fp_eg.html" title="Examples">Examples</a>
</h4></div></div></div>
-<div class="toc"><dl class="toc">
+<div class="toc"><dl>
<dt><span class="section"><a href="fp_eg/aos.html">Area of
Circle</a></span></dt>
<dt><span class="section"><a href="fp_eg/jel.html">Defining
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/fp_eg/aos.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/fp_eg/aos.html
index 563ea65f07..5360bbed9c 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/fp_eg/aos.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/fp_eg/aos.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Area of Circle</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../fp_eg.html" title="Examples">
<link rel="prev" href="../fp_eg.html" title="Examples">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/fp_eg/gi.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/fp_eg/gi.html
index 73a46081dd..d3e48828a9 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/fp_eg/gi.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/fp_eg/gi.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Calculating an Integral</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../fp_eg.html" title="Examples">
<link rel="prev" href="nd.html" title="Calculating a Derivative">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/fp_eg/jel.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/fp_eg/jel.html
index ce943eed69..96fe60a7ec 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/fp_eg/jel.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/fp_eg/jel.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Defining a Special Function.</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../fp_eg.html" title="Examples">
<link rel="prev" href="aos.html" title="Area of Circle">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/fp_eg/nd.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/fp_eg/nd.html
index 373dc97e74..c53ada9055 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/fp_eg/nd.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/fp_eg/nd.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Calculating a Derivative</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../fp_eg.html" title="Examples">
<link rel="prev" href="jel.html" title="Defining a Special Function.">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/fp_eg/poly_eg.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/fp_eg/poly_eg.html
index fd8b5ca300..df5bfacd87 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/fp_eg/poly_eg.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/fp_eg/poly_eg.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Polynomial Evaluation</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../fp_eg.html" title="Examples">
<link rel="prev" href="gi.html" title="Calculating an Integral">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/gmp_float.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/gmp_float.html
index 748ab6ff86..1b6a9e46bc 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/gmp_float.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/gmp_float.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>gmp_float</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../floats.html" title="Floating Point Numbers">
<link rel="prev" href="cpp_dec_float.html" title="cpp_dec_float">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/mpfr_float.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/mpfr_float.html
index 3acd47f141..d6feb8fcef 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/mpfr_float.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/floats/mpfr_float.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>mpfr_float</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../floats.html" title="Floating Point Numbers">
<link rel="prev" href="gmp_float.html" title="gmp_float">
@@ -80,7 +80,7 @@
digit counts. Note that we can not guarantee that using <code class="computeroutput"><span class="identifier">allocate_stack</span></code>
won't cause any calls to mpfr's allocation routines, as mpfr may call these
inside it's own code. The following table gives an idea of the performance
- tradeoff's at 50 decimal digits precision<a href="#ftn.boost_multiprecision.tut.floats.mpfr_float.f0" class="footnote" name="boost_multiprecision.tut.floats.mpfr_float.f0"><sup class="footnote">[2]</sup></a>:
+ tradeoff's at 50 decimal digits precision<a href="#ftn.boost_multiprecision.tut.floats.mpfr_float.f0" class="footnote"><sup class="footnote"><a name="boost_multiprecision.tut.floats.mpfr_float.f0"></a>[2]</sup></a>:
</p>
<div class="informaltable"><table class="table">
<colgroup>
@@ -261,7 +261,7 @@
<span class="special">}</span>
</pre>
<div class="footnotes">
-<br><hr style="width:100; text-align:left;margin-left: 0">
+<br><hr style="width:100; align:left;">
<div id="ftn.boost_multiprecision.tut.floats.mpfr_float.f0" class="footnote"><p><a href="#boost_multiprecision.tut.floats.mpfr_float.f0" class="para"><sup class="para">[2] </sup></a>
Compiled with VC++10 and /Ox, with MPFR-3.0.0 and MPIR-2.3.0
</p></div>
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/gen_int.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/gen_int.html
index 75effaa47f..8fecec7fb5 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/gen_int.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/gen_int.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Generic Integer Operations</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../tut.html" title="Tutorial">
<link rel="prev" href="mixed.html" title="Mixed Precision Arithmetic">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/input_output.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/input_output.html
index d58ffe908c..9194071411 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/input_output.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/input_output.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Input Output</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../tut.html" title="Tutorial">
<link rel="prev" href="limits/how_to_tell.html" title="How to Determine the Kind of a Number From std::numeric_limits">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/interval.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/interval.html
index 8e38ca6072..50812f5ba9 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/interval.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/interval.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Interval Number Types</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../tut.html" title="Tutorial">
<link rel="prev" href="floats/fp_eg/poly_eg.html" title="Polynomial Evaluation">
@@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_multiprecision.tut.interval"></a><a class="link" href="interval.html" title="Interval Number Types">Interval Number Types</a>
</h3></div></div></div>
-<div class="toc"><dl class="toc"><dt><span class="section"><a href="interval/mpfi.html">mpfi_float</a></span></dt></dl></div>
+<div class="toc"><dl><dt><span class="section"><a href="interval/mpfi.html">mpfi_float</a></span></dt></dl></div>
<p>
There is one currently only one interval number type supported - <a href="http://perso.ens-lyon.fr/nathalie.revol/software.html" target="_top">MPFI</a>.
</p>
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/interval/mpfi.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/interval/mpfi.html
index fcd2aea9d3..7a0c446720 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/interval/mpfi.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/interval/mpfi.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>mpfi_float</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../interval.html" title="Interval Number Types">
<link rel="prev" href="../interval.html" title="Interval Number Types">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/ints.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/ints.html
index 1c606ab903..6bcf51ec94 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/ints.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/ints.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Integer Types</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../tut.html" title="Tutorial">
<link rel="prev" href="../tut.html" title="Tutorial">
@@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_multiprecision.tut.ints"></a><a class="link" href="ints.html" title="Integer Types">Integer Types</a>
</h3></div></div></div>
-<div class="toc"><dl class="toc">
+<div class="toc"><dl>
<dt><span class="section"><a href="ints/cpp_int.html">cpp_int</a></span></dt>
<dt><span class="section"><a href="ints/gmp_int.html">gmp_int</a></span></dt>
<dt><span class="section"><a href="ints/tom_int.html">tom_int</a></span></dt>
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/ints/cpp_int.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/ints/cpp_int.html
index ab836530fc..ee36ce831c 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/ints/cpp_int.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/ints/cpp_int.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>cpp_int</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../ints.html" title="Integer Types">
<link rel="prev" href="../ints.html" title="Integer Types">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/ints/egs.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/ints/egs.html
index f53916fe46..45b825d897 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/ints/egs.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/ints/egs.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Examples</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../ints.html" title="Integer Types">
<link rel="prev" href="tom_int.html" title="tom_int">
@@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h4 class="title">
<a name="boost_multiprecision.tut.ints.egs"></a><a class="link" href="egs.html" title="Examples">Examples</a>
</h4></div></div></div>
-<div class="toc"><dl class="toc">
+<div class="toc"><dl>
<dt><span class="section"><a href="egs/factorials.html">Factorials</a></span></dt>
<dt><span class="section"><a href="egs/bitops.html">Bit Operations</a></span></dt>
</dl></div>
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/ints/egs/bitops.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/ints/egs/bitops.html
index 7b8cf2d5b8..83b29ed361 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/ints/egs/bitops.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/ints/egs/bitops.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Bit Operations</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../egs.html" title="Examples">
<link rel="prev" href="factorials.html" title="Factorials">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/ints/egs/factorials.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/ints/egs/factorials.html
index 7566f7e4aa..2b9d05d48e 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/ints/egs/factorials.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/ints/egs/factorials.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Factorials</title>
<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../egs.html" title="Examples">
<link rel="prev" href="../egs.html" title="Examples">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/ints/gmp_int.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/ints/gmp_int.html
index e27cdf7c59..a5889d2261 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/ints/gmp_int.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/ints/gmp_int.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>gmp_int</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../ints.html" title="Integer Types">
<link rel="prev" href="cpp_int.html" title="cpp_int">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/ints/tom_int.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/ints/tom_int.html
index 265acbde50..298316f440 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/ints/tom_int.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/ints/tom_int.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>tom_int</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../ints.html" title="Integer Types">
<link rel="prev" href="gmp_int.html" title="gmp_int">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/limits.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/limits.html
index 5cd48aaced..7da73761db 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/limits.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/limits.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Numeric Limits</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../tut.html" title="Tutorial">
<link rel="prev" href="serial.html" title="Boost.Serialization Support">
@@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_multiprecision.tut.limits"></a><a class="link" href="limits.html" title="Numeric Limits">Numeric Limits</a>
</h3></div></div></div>
-<div class="toc"><dl class="toc">
+<div class="toc"><dl>
<dt><span class="section"><a href="limits/constants.html">std::numeric_limits&lt;&gt;
constants</a></span></dt>
<dt><span class="section"><a href="limits/functions.html">std::numeric_limits&lt;&gt;
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/limits/constants.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/limits/constants.html
index 2a085c9ad8..ad0a8bdcf1 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/limits/constants.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/limits/constants.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>std::numeric_limits&lt;&gt; constants</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../limits.html" title="Numeric Limits">
<link rel="prev" href="../limits.html" title="Numeric Limits">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/limits/functions.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/limits/functions.html
index 7e8cbc7c67..0c4b1828f3 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/limits/functions.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/limits/functions.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>std::numeric_limits&lt;&gt; functions</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../limits.html" title="Numeric Limits">
<link rel="prev" href="constants.html" title="std::numeric_limits&lt;&gt; constants">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/limits/how_to_tell.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/limits/how_to_tell.html
index 6efd4f80af..c83a963c47 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/limits/how_to_tell.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/limits/how_to_tell.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>How to Determine the Kind of a Number From std::numeric_limits</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../limits.html" title="Numeric Limits">
<link rel="prev" href="limits32.html" title="Numeric limits for 32-bit platform">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/limits/limits32.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/limits/limits32.html
index 40d4570d5d..c1bd6ab25a 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/limits/limits32.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/limits/limits32.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Numeric limits for 32-bit platform</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../limits.html" title="Numeric Limits">
<link rel="prev" href="functions.html" title="std::numeric_limits&lt;&gt; functions">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/lits.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/lits.html
index 6971ffc88d..da106dedd0 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/lits.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/lits.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Literal Types and constexpr Support</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../tut.html" title="Tutorial">
<link rel="prev" href="primetest.html" title="Primality Testing">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/misc.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/misc.html
index 7438ba6ea1..ff287c2882 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/misc.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/misc.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Miscellaneous Number Types.</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../tut.html" title="Tutorial">
<link rel="prev" href="rational/rational_adaptor.html" title="rational_adaptor">
@@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_multiprecision.tut.misc"></a><a class="link" href="misc.html" title="Miscellaneous Number Types.">Miscellaneous Number Types.</a>
</h3></div></div></div>
-<div class="toc"><dl class="toc">
+<div class="toc"><dl>
<dt><span class="section"><a href="misc/logged_adaptor.html">logged_adaptor</a></span></dt>
<dt><span class="section"><a href="misc/debug_adaptor.html">debug_adaptor</a></span></dt>
<dt><span class="section"><a href="misc/visualizers.html">Visual C++
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/misc/debug_adaptor.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/misc/debug_adaptor.html
index 5b7f0c3972..37de46b701 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/misc/debug_adaptor.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/misc/debug_adaptor.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>debug_adaptor</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../misc.html" title="Miscellaneous Number Types.">
<link rel="prev" href="logged_adaptor.html" title="logged_adaptor">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/misc/logged_adaptor.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/misc/logged_adaptor.html
index 278e2ab068..602d827d14 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/misc/logged_adaptor.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/misc/logged_adaptor.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>logged_adaptor</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../misc.html" title="Miscellaneous Number Types.">
<link rel="prev" href="../misc.html" title="Miscellaneous Number Types.">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/misc/visualizers.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/misc/visualizers.html
index 8b77d657b3..d53fc52ed0 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/misc/visualizers.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/misc/visualizers.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Visual C++ Debugger Visualizers</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../misc.html" title="Miscellaneous Number Types.">
<link rel="prev" href="debug_adaptor.html" title="debug_adaptor">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/mixed.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/mixed.html
index 4eb40a8c7f..94e0e92152 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/mixed.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/mixed.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Mixed Precision Arithmetic</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../tut.html" title="Tutorial">
<link rel="prev" href="rounding.html" title="Rounding Rules for Conversions">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/primetest.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/primetest.html
index a4186e6bb4..b1e13669d3 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/primetest.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/primetest.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Primality Testing</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../tut.html" title="Tutorial">
<link rel="prev" href="random.html" title="Generating Random Numbers">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/random.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/random.html
index fa113f9669..b833e1eee1 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/random.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/random.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Generating Random Numbers</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../tut.html" title="Tutorial">
<link rel="prev" href="conversions.html" title="Constructing and Interconverting Between Number Types">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/rational.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/rational.html
index f29486d993..e7d8ccd8a3 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/rational.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/rational.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Rational Number Types</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../tut.html" title="Tutorial">
<link rel="prev" href="interval/mpfi.html" title="mpfi_float">
@@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_multiprecision.tut.rational"></a><a class="link" href="rational.html" title="Rational Number Types">Rational Number Types</a>
</h3></div></div></div>
-<div class="toc"><dl class="toc">
+<div class="toc"><dl>
<dt><span class="section"><a href="rational/cpp_rational.html">cpp_rational</a></span></dt>
<dt><span class="section"><a href="rational/gmp_rational.html">gmp_rational</a></span></dt>
<dt><span class="section"><a href="rational/tommath_rational.html">tommath_rational</a></span></dt>
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/rational/br.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/rational/br.html
index 2f331f6f9b..fa04a0f4ee 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/rational/br.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/rational/br.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Use With Boost.Rational</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../rational.html" title="Rational Number Types">
<link rel="prev" href="tommath_rational.html" title="tommath_rational">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/rational/cpp_rational.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/rational/cpp_rational.html
index 6a5756867a..736e68cb1d 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/rational/cpp_rational.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/rational/cpp_rational.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>cpp_rational</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../rational.html" title="Rational Number Types">
<link rel="prev" href="../rational.html" title="Rational Number Types">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/rational/gmp_rational.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/rational/gmp_rational.html
index 6800cc4264..041ddd8b23 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/rational/gmp_rational.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/rational/gmp_rational.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>gmp_rational</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../rational.html" title="Rational Number Types">
<link rel="prev" href="cpp_rational.html" title="cpp_rational">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/rational/rational_adaptor.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/rational/rational_adaptor.html
index 26623160ee..2a76b96ead 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/rational/rational_adaptor.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/rational/rational_adaptor.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>rational_adaptor</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../rational.html" title="Rational Number Types">
<link rel="prev" href="br.html" title="Use With Boost.Rational">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/rational/tommath_rational.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/rational/tommath_rational.html
index 5df03879e5..65a7056ded 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/rational/tommath_rational.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/rational/tommath_rational.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>tommath_rational</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../rational.html" title="Rational Number Types">
<link rel="prev" href="gmp_rational.html" title="gmp_rational">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/rounding.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/rounding.html
index 9626a37b66..7556282aa6 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/rounding.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/rounding.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Rounding Rules for Conversions</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../tut.html" title="Tutorial">
<link rel="prev" href="lits.html" title="Literal Types and constexpr Support">
diff --git a/libs/multiprecision/doc/html/boost_multiprecision/tut/serial.html b/libs/multiprecision/doc/html/boost_multiprecision/tut/serial.html
index 667dcea832..e57703eac5 100644
--- a/libs/multiprecision/doc/html/boost_multiprecision/tut/serial.html
+++ b/libs/multiprecision/doc/html/boost_multiprecision/tut/serial.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Boost.Serialization Support</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="up" href="../tut.html" title="Tutorial">
<link rel="prev" href="gen_int.html" title="Generic Integer Operations">
diff --git a/libs/multiprecision/doc/html/index.html b/libs/multiprecision/doc/html/index.html
index c39180a691..7e9cc0d57c 100644
--- a/libs/multiprecision/doc/html/index.html
+++ b/libs/multiprecision/doc/html/index.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Chapter&#160;1.&#160;Boost.Multiprecision</title>
<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="index.html" title="Chapter&#160;1.&#160;Boost.Multiprecision">
<link rel="next" href="boost_multiprecision/intro.html" title="Introduction">
</head>
@@ -38,7 +38,7 @@
</div></div>
<div class="toc">
<p><b>Table of Contents</b></p>
-<dl class="toc">
+<dl>
<dt><span class="section"><a href="boost_multiprecision/intro.html">Introduction</a></span></dt>
<dt><span class="section"><a href="boost_multiprecision/tut.html">Tutorial</a></span></dt>
<dd><dl>
@@ -163,7 +163,7 @@
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: October 17, 2014 at 17:53:54 GMT</small></p></td>
+<td align="left"><p><small>Last revised: March 20, 2015 at 18:44:06 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td>
</tr></table>
<hr>
diff --git a/libs/multiprecision/doc/multiprecision.qbk b/libs/multiprecision/doc/multiprecision.qbk
index 274302bda7..e878c10673 100644
--- a/libs/multiprecision/doc/multiprecision.qbk
+++ b/libs/multiprecision/doc/multiprecision.qbk
@@ -4944,9 +4944,16 @@ Windows Vista machine.
[section:hist History]
+[h4 Multiprecision-2.2.4 (Boost-1.58)]
+
+* Changed `frexp` to always be non-expression template generating, see: [@https://svn.boost.org/trac/boost/ticket/10993 10993].
+* Improved support of cpp_dec_float on Cygwin and other platforms with missing long double support, see [@https://svn.boost.org/trac/boost/ticket/10924 10924].
+* Improved noexcept support and added some more tests, see [@https://svn.boost.org/trac/boost/ticket/10990 10990].
+* Various workarounds applied for Intel-15.0 and Solaris-12.4 compilers.
+
[h4 Multiprecision-2.2.3 (Boost-1.57)]
-* Changed rational to float conversions to exactly round to nearest, see [https://svn.boost.org/trac/boost/ticket/10085 10085].
+* Changed rational to float conversions to exactly round to nearest, see [@https://svn.boost.org/trac/boost/ticket/10085 10085].
* Added improved generic float to rational conversions.
* Fixed rare bug in exponent function for __cpp_bin_float.
* Fixed various minor documentation issues.
diff --git a/libs/multiprecision/example/Jamfile.v2 b/libs/multiprecision/example/Jamfile.v2
index b357c186fd..5ed5752a3a 100644
--- a/libs/multiprecision/example/Jamfile.v2
+++ b/libs/multiprecision/example/Jamfile.v2
@@ -11,6 +11,7 @@
import testing ;
import modules ;
import path ;
+import ../../config/checks/config : requires ;
local ntl-path = [ modules.peek : NTL_PATH ] ;
local gmp_path = [ modules.peek : GMP_PATH ] ;
@@ -76,12 +77,12 @@ run cpp_bin_float_snips.cpp ;
run debug_adaptor_snips.cpp ;
run float128_snips.cpp quadmath : : : [ check-target-builds ../config//has_float128 : : <build>no ] ;
run floating_point_examples.cpp ;
-run gauss_laguerre_quadrature.cpp : : : release ;
-run hypergeometric_luke_algorithms.cpp ;
+run gauss_laguerre_quadrature.cpp : : : release [ requires cxx11_lambdas ] ;
+run hypergeometric_luke_algorithms.cpp : : : [ requires cxx11_nullptr ] ;
run integer_examples.cpp ;
run logged_adaptor.cpp mpfi mpfr gmp : : : [ check-target-builds ../config//has_mpfi : : <build>no ] ;
run mixed_integer_arithmetic.cpp ;
-run numeric_limits_snips.cpp /boost//test_exec_monitor ;
+run numeric_limits_snips.cpp /boost//test_exec_monitor : : : [ requires cxx11_numeric_limits ] ;
run random_snips.cpp gmp : : : [ check-target-builds ../config//has_gmp : : <build>no ] ;
run safe_prime.cpp ;
diff --git a/libs/multiprecision/performance/arithmetic_backend.hpp b/libs/multiprecision/performance/arithmetic_backend.hpp
index a0574d193b..1da675d5ac 100644
--- a/libs/multiprecision/performance/arithmetic_backend.hpp
+++ b/libs/multiprecision/performance/arithmetic_backend.hpp
@@ -545,17 +545,54 @@ struct double_precision_type<arithmetic_backend<boost::int32_t> >
}
}} // namespaces
-
+#if !(defined(__SGI_STL_PORT) || defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS))
+//
+// We shouldn't need these to get code to compile, however for the sake of
+// "level playing field" performance comparisons they avoid the very slow
+// lexical_cast's that would otherwise take place. Definition has to be guarded
+// by the inverse of pp-logic in real_concept.hpp which defines these as a workaround
+// for STLPort plus some other old/broken standartd libraries.
+//
namespace boost{ namespace math{ namespace tools{
-template <>
-inline double real_cast<double, concepts::real_concept>(concepts::real_concept r)
-{
- return static_cast<double>(r.value());
-}
+ template <>
+ inline unsigned int real_cast<unsigned int, concepts::real_concept>(concepts::real_concept r)
+ {
+ return static_cast<unsigned int>(r.value());
+ }
-}}}
+ template <>
+ inline int real_cast<int, concepts::real_concept>(concepts::real_concept r)
+ {
+ return static_cast<int>(r.value());
+ }
+
+ template <>
+ inline long real_cast<long, concepts::real_concept>(concepts::real_concept r)
+ {
+ return static_cast<long>(r.value());
+ }
+ // Converts from T to narrower floating-point types, float, double & long double.
+
+ template <>
+ inline float real_cast<float, concepts::real_concept>(concepts::real_concept r)
+ {
+ return static_cast<float>(r.value());
+ }
+ template <>
+ inline double real_cast<double, concepts::real_concept>(concepts::real_concept r)
+ {
+ return static_cast<double>(r.value());
+ }
+ template <>
+ inline long double real_cast<long double, concepts::real_concept>(concepts::real_concept r)
+ {
+ return r.value();
+ }
+
+}}}
+#endif
namespace std{
diff --git a/libs/multiprecision/performance/performance_test.cpp b/libs/multiprecision/performance/performance_test.cpp
index be3daeee4d..c94d5bb211 100644
--- a/libs/multiprecision/performance/performance_test.cpp
+++ b/libs/multiprecision/performance/performance_test.cpp
@@ -318,7 +318,7 @@ struct tester
}
double test_gcd()
{
- using boost::math::gcd;
+ using boost::integer::gcd;
stopwatch<boost::chrono::high_resolution_clock> w;
for(unsigned i = 0; i < 1000; ++i)
{
diff --git a/libs/multiprecision/test/Jamfile.v2 b/libs/multiprecision/test/Jamfile.v2
index 5972b7762e..0ec5ea08bd 100644
--- a/libs/multiprecision/test/Jamfile.v2
+++ b/libs/multiprecision/test/Jamfile.v2
@@ -350,6 +350,14 @@ compile test_constexpr.cpp :
[ check-target-builds ../config//has_intel_quad : <cxxflags>-Qoption,cpp,--extended_float_type <define>HAVE_FLOAT128 : ]
[ requires cxx11_constexpr cxx11_user_defined_literals ] ;
+compile test_nothrow_cpp_int.cpp ;
+compile test_nothrow_cpp_rational.cpp ;
+compile test_nothrow_cpp_bin_float.cpp ;
+compile test_nothrow_cpp_dec_float.cpp ;
+compile test_nothrow_float128.cpp : [ check-target-builds ../config//has_float128 : : <build>no ] ;
+compile test_nothrow_gmp.cpp : [ check-target-builds ../config//has_gmp : : <build>no ] ;
+compile test_nothrow_mpfr.cpp : [ check-target-builds ../config//has_mpfr : : <build>no ] ;
+
run test_cpp_bin_float_io.cpp /boost/system//boost_system /boost/chrono//boost_chrono
: # command line
: # input files
diff --git a/libs/multiprecision/test/test_nothrow_cpp_bin_float.cpp b/libs/multiprecision/test/test_nothrow_cpp_bin_float.cpp
new file mode 100644
index 0000000000..91859ca89b
--- /dev/null
+++ b/libs/multiprecision/test/test_nothrow_cpp_bin_float.cpp
@@ -0,0 +1,53 @@
+///////////////////////////////////////////////////////////////////////////////
+// Copyright 2015 John Maddock. Distributed under the Boost
+// Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include <boost/multiprecision/cpp_bin_float.hpp>
+#include <boost/type_traits/is_nothrow_move_constructible.hpp>
+#include <boost/type_traits/is_nothrow_move_assignable.hpp>
+#include <boost/type_traits/has_nothrow_constructor.hpp>
+#include <boost/type_traits/has_nothrow_assign.hpp>
+#include <boost/type_traits/has_nothrow_copy.hpp>
+#include <boost/static_assert.hpp>
+
+#ifndef BOOST_NO_NOEXCEPT
+
+#if !defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(BOOST_NO_SFINAE_EXPR) || defined(BOOST_IS_NOTHROW_MOVE_CONSTRUCT)
+//
+// Move construct:
+//
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_constructible<boost::multiprecision::cpp_bin_float_100>::value);
+
+#endif
+
+#if !defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(BOOST_NO_SFINAE_EXPR) || defined(BOOST_IS_NOTHROW_MOVE_ASSIGN)
+//
+// Move assign:
+//
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_assignable<boost::multiprecision::cpp_bin_float_100>::value);
+
+#endif
+
+//
+// Construct:
+//
+#ifdef BOOST_HAS_NOTHROW_CONSTRUCTOR
+BOOST_STATIC_ASSERT(boost::has_nothrow_constructor<boost::multiprecision::cpp_bin_float_100>::value);
+#endif
+//
+// Copy construct:
+//
+#ifdef BOOST_HAS_NOTHROW_COPY
+BOOST_STATIC_ASSERT(boost::has_nothrow_copy<boost::multiprecision::cpp_bin_float_100>::value);
+#endif
+//
+// Assign:
+//
+#ifdef BOOST_HAS_NOTHROW_ASSIGN
+BOOST_STATIC_ASSERT(boost::has_nothrow_assign<boost::multiprecision::cpp_bin_float_100>::value);
+#endif
+
+#endif // noexcept
+
+
diff --git a/libs/multiprecision/test/test_nothrow_cpp_dec_float.cpp b/libs/multiprecision/test/test_nothrow_cpp_dec_float.cpp
new file mode 100644
index 0000000000..1e522648f5
--- /dev/null
+++ b/libs/multiprecision/test/test_nothrow_cpp_dec_float.cpp
@@ -0,0 +1,53 @@
+///////////////////////////////////////////////////////////////////////////////
+// Copyright 2015 John Maddock. Distributed under the Boost
+// Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include <boost/multiprecision/cpp_dec_float.hpp>
+#include <boost/type_traits/is_nothrow_move_constructible.hpp>
+#include <boost/type_traits/is_nothrow_move_assignable.hpp>
+#include <boost/type_traits/has_nothrow_constructor.hpp>
+#include <boost/type_traits/has_nothrow_assign.hpp>
+#include <boost/type_traits/has_nothrow_copy.hpp>
+#include <boost/static_assert.hpp>
+
+#ifndef BOOST_NO_NOEXCEPT
+
+#if !defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(BOOST_NO_SFINAE_EXPR) || defined(BOOST_IS_NOTHROW_MOVE_CONSTRUCT)
+//
+// Move construct:
+//
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_constructible<boost::multiprecision::cpp_dec_float_100>::value);
+
+#endif
+
+#if !defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(BOOST_NO_SFINAE_EXPR) || defined(BOOST_IS_NOTHROW_MOVE_ASSIGN)
+//
+// Move assign:
+//
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_assignable<boost::multiprecision::cpp_dec_float_100>::value);
+
+#endif
+
+//
+// Construct:
+//
+#ifdef BOOST_HAS_NOTHROW_CONSTRUCTOR
+BOOST_STATIC_ASSERT(boost::has_nothrow_constructor<boost::multiprecision::cpp_dec_float_100>::value);
+#endif
+//
+// Copy construct:
+//
+#ifdef BOOST_HAS_NOTHROW_COPY
+BOOST_STATIC_ASSERT(boost::has_nothrow_copy<boost::multiprecision::cpp_dec_float_100>::value);
+#endif
+//
+// Assign:
+//
+#ifdef BOOST_HAS_NOTHROW_ASSIGN
+BOOST_STATIC_ASSERT(boost::has_nothrow_assign<boost::multiprecision::cpp_dec_float_100>::value);
+#endif
+
+#endif // noexcept
+
+
diff --git a/libs/multiprecision/test/test_nothrow_cpp_int.cpp b/libs/multiprecision/test/test_nothrow_cpp_int.cpp
new file mode 100644
index 0000000000..89045bcbe8
--- /dev/null
+++ b/libs/multiprecision/test/test_nothrow_cpp_int.cpp
@@ -0,0 +1,250 @@
+///////////////////////////////////////////////////////////////////////////////
+// Copyright 2std::declval<boost::multiprecision::signed_limb_type>()15 John Maddock. Distributed under the Boost
+// Software License, Version 1.std::declval<boost::multiprecision::signed_limb_type>(). (See accompanying file
+// LICENSE_1_std::declval<boost::multiprecision::signed_limb_type>().txt or copy at http://www.boost.org/LICENSE_1_std::declval<boost::multiprecision::signed_limb_type>().txt)
+
+#include <boost/multiprecision/cpp_int.hpp>
+#include <boost/type_traits/is_nothrow_move_constructible.hpp>
+#include <boost/type_traits/is_nothrow_move_assignable.hpp>
+#include <boost/type_traits/has_nothrow_constructor.hpp>
+#include <boost/type_traits/has_nothrow_assign.hpp>
+#include <boost/type_traits/has_nothrow_copy.hpp>
+#include <boost/static_assert.hpp>
+
+#ifndef BOOST_NO_NOEXCEPT
+
+#if !defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(BOOST_NO_SFINAE_EXPR) || defined(BOOST_IS_NOTHROW_MOVE_CONSTRUCT)
+//
+// Move construct:
+//
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_constructible<boost::multiprecision::cpp_int>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_constructible<boost::multiprecision::int128_t>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_constructible<boost::multiprecision::checked_int128_t>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_constructible<boost::multiprecision::uint128_t>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_constructible<boost::multiprecision::checked_uint128_t>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_constructible<boost::multiprecision::int512_t>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_constructible<boost::multiprecision::checked_int512_t>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_constructible<boost::multiprecision::uint512_t>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_constructible<boost::multiprecision::checked_uint512_t>::value);
+
+#endif
+
+#if !defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(BOOST_NO_SFINAE_EXPR) || defined(BOOST_IS_NOTHROW_MOVE_ASSIGN)
+//
+// Move assign:
+//
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_assignable<boost::multiprecision::cpp_int>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_assignable<boost::multiprecision::int128_t>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_assignable<boost::multiprecision::checked_int128_t>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_assignable<boost::multiprecision::uint128_t>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_assignable<boost::multiprecision::checked_uint128_t>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_assignable<boost::multiprecision::int512_t>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_assignable<boost::multiprecision::checked_int512_t>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_assignable<boost::multiprecision::uint512_t>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_assignable<boost::multiprecision::checked_uint512_t>::value);
+
+#endif
+
+//
+// Construct:
+//
+#ifdef BOOST_HAS_NOTHROW_CONSTRUCTOR
+BOOST_STATIC_ASSERT(boost::has_nothrow_constructor<boost::multiprecision::cpp_int>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_constructor<boost::multiprecision::int128_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_constructor<boost::multiprecision::checked_int128_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_constructor<boost::multiprecision::uint128_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_constructor<boost::multiprecision::checked_uint128_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_constructor<boost::multiprecision::int512_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_constructor<boost::multiprecision::checked_int512_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_constructor<boost::multiprecision::uint512_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_constructor<boost::multiprecision::checked_uint512_t>::value);
+#endif
+//
+// Copy construct:
+//
+#ifdef BOOST_HAS_NOTHROW_COPY
+BOOST_STATIC_ASSERT(!boost::has_nothrow_copy<boost::multiprecision::cpp_int>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_copy<boost::multiprecision::int128_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_copy<boost::multiprecision::checked_int128_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_copy<boost::multiprecision::uint128_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_copy<boost::multiprecision::checked_uint128_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_copy<boost::multiprecision::int512_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_copy<boost::multiprecision::checked_int512_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_copy<boost::multiprecision::uint512_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_copy<boost::multiprecision::checked_uint512_t>::value);
+#endif
+//
+// Assign:
+//
+#ifdef BOOST_HAS_NOTHROW_ASSIGN
+BOOST_STATIC_ASSERT(!boost::has_nothrow_assign<boost::multiprecision::cpp_int>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_assign<boost::multiprecision::int128_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_assign<boost::multiprecision::checked_int128_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_assign<boost::multiprecision::uint128_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_assign<boost::multiprecision::checked_uint128_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_assign<boost::multiprecision::int512_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_assign<boost::multiprecision::checked_int512_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_assign<boost::multiprecision::uint512_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_assign<boost::multiprecision::checked_uint512_t>::value);
+#endif
+//
+// Construct from int:
+//
+BOOST_STATIC_ASSERT(noexcept(boost::multiprecision::cpp_int(std::declval<boost::multiprecision::signed_limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(boost::multiprecision::int128_t(std::declval<boost::multiprecision::signed_limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(boost::multiprecision::checked_int128_t(std::declval<boost::multiprecision::signed_limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(boost::multiprecision::uint128_t(std::declval<boost::multiprecision::signed_limb_type>())));
+BOOST_STATIC_ASSERT(!noexcept(boost::multiprecision::checked_uint128_t(std::declval<boost::multiprecision::signed_limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(boost::multiprecision::int512_t(std::declval<boost::multiprecision::signed_limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(boost::multiprecision::checked_int512_t(std::declval<boost::multiprecision::signed_limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(boost::multiprecision::uint512_t(std::declval<boost::multiprecision::signed_limb_type>())));
+BOOST_STATIC_ASSERT(!noexcept(boost::multiprecision::checked_uint512_t(std::declval<boost::multiprecision::signed_limb_type>())));
+//
+// Construct from unsigned int:
+//
+BOOST_STATIC_ASSERT(noexcept(boost::multiprecision::cpp_int(std::declval<boost::multiprecision::limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(boost::multiprecision::int128_t(std::declval<boost::multiprecision::limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(boost::multiprecision::checked_int128_t(std::declval<boost::multiprecision::limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(boost::multiprecision::uint128_t(std::declval<boost::multiprecision::limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(boost::multiprecision::checked_uint128_t(std::declval<boost::multiprecision::limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(boost::multiprecision::int512_t(std::declval<boost::multiprecision::limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(boost::multiprecision::checked_int512_t(std::declval<boost::multiprecision::limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(boost::multiprecision::uint512_t(std::declval<boost::multiprecision::limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(boost::multiprecision::checked_uint512_t(std::declval<boost::multiprecision::limb_type>())));
+//
+// Assign from int:
+//
+BOOST_STATIC_ASSERT(noexcept(std::declval<boost::multiprecision::cpp_int>() = std::declval<boost::multiprecision::signed_limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<boost::multiprecision::int128_t>() = std::declval<boost::multiprecision::signed_limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<boost::multiprecision::checked_int128_t>() = std::declval<boost::multiprecision::signed_limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<boost::multiprecision::uint128_t>() = std::declval<boost::multiprecision::signed_limb_type>()));
+BOOST_STATIC_ASSERT(!noexcept(std::declval<boost::multiprecision::checked_uint128_t>() = std::declval<boost::multiprecision::signed_limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<boost::multiprecision::int512_t>() = std::declval<boost::multiprecision::signed_limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<boost::multiprecision::checked_int512_t>() = std::declval<boost::multiprecision::signed_limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<boost::multiprecision::uint512_t>() = std::declval<boost::multiprecision::signed_limb_type>()));
+BOOST_STATIC_ASSERT(!noexcept(std::declval<boost::multiprecision::checked_uint512_t>() = std::declval<boost::multiprecision::signed_limb_type>()));
+//
+// Assign from unsigned int:
+//
+BOOST_STATIC_ASSERT(noexcept(std::declval<boost::multiprecision::cpp_int>() = std::declval<boost::multiprecision::limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<boost::multiprecision::int128_t>() = std::declval<boost::multiprecision::limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<boost::multiprecision::checked_int128_t>() = std::declval<boost::multiprecision::limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<boost::multiprecision::uint128_t>() = std::declval<boost::multiprecision::limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<boost::multiprecision::checked_uint128_t>() = std::declval<boost::multiprecision::limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<boost::multiprecision::int512_t>() = std::declval<boost::multiprecision::limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<boost::multiprecision::checked_int512_t>() = std::declval<boost::multiprecision::limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<boost::multiprecision::uint512_t>() = std::declval<boost::multiprecision::limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<boost::multiprecision::checked_uint512_t>() = std::declval<boost::multiprecision::limb_type>()));
+
+#if defined(BOOST_LITTLE_ENDIAN)
+//
+// We can also nothrow construct from a double_limb_type (or smaller obviously) as long as double_limb_type is smaller than the type
+// in question (so don't test 128-bit integers in case double_limb_type is __int128).
+//
+// Construct from int:
+//
+BOOST_STATIC_ASSERT(noexcept(boost::multiprecision::cpp_int(std::declval<boost::multiprecision::signed_double_limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(boost::multiprecision::int512_t(std::declval<boost::multiprecision::signed_double_limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(boost::multiprecision::checked_int512_t(std::declval<boost::multiprecision::signed_double_limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(boost::multiprecision::uint512_t(std::declval<boost::multiprecision::signed_double_limb_type>())));
+BOOST_STATIC_ASSERT(!noexcept(boost::multiprecision::checked_uint512_t(std::declval<boost::multiprecision::signed_double_limb_type>())));
+//
+// Construct from unsigned int:
+//
+BOOST_STATIC_ASSERT(noexcept(boost::multiprecision::cpp_int(std::declval<boost::multiprecision::double_limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(boost::multiprecision::int512_t(std::declval<boost::multiprecision::double_limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(boost::multiprecision::checked_int512_t(std::declval<boost::multiprecision::double_limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(boost::multiprecision::uint512_t(std::declval<boost::multiprecision::double_limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(boost::multiprecision::checked_uint512_t(std::declval<boost::multiprecision::double_limb_type>())));
+//
+// Assign from int:
+//
+BOOST_STATIC_ASSERT(noexcept(std::declval<boost::multiprecision::cpp_int>() = std::declval<boost::multiprecision::signed_double_limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<boost::multiprecision::int512_t>() = std::declval<boost::multiprecision::signed_double_limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<boost::multiprecision::checked_int512_t>() = std::declval<boost::multiprecision::signed_double_limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<boost::multiprecision::uint512_t>() = std::declval<boost::multiprecision::signed_double_limb_type>()));
+BOOST_STATIC_ASSERT(!noexcept(std::declval<boost::multiprecision::checked_uint512_t>() = std::declval<boost::multiprecision::signed_double_limb_type>()));
+//
+// Assign from unsigned int:
+//
+BOOST_STATIC_ASSERT(noexcept(std::declval<boost::multiprecision::cpp_int>() = std::declval<boost::multiprecision::double_limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<boost::multiprecision::int512_t>() = std::declval<boost::multiprecision::double_limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<boost::multiprecision::checked_int512_t>() = std::declval<boost::multiprecision::double_limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<boost::multiprecision::uint512_t>() = std::declval<boost::multiprecision::double_limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<boost::multiprecision::checked_uint512_t>() = std::declval<boost::multiprecision::double_limb_type>()));
+
+#endif // little endian
+
+typedef boost::multiprecision::number<boost::multiprecision::cpp_int_backend<32, 32, boost::multiprecision::signed_magnitude, boost::multiprecision::checked, void> > checked_int32_t;
+typedef boost::multiprecision::number<boost::multiprecision::cpp_int_backend<32, 32, boost::multiprecision::unsigned_magnitude, boost::multiprecision::checked, void> > checked_uint32_t;
+typedef boost::multiprecision::number<boost::multiprecision::cpp_int_backend<32, 32, boost::multiprecision::signed_magnitude, boost::multiprecision::unchecked, void> > unchecked_int32_t;
+typedef boost::multiprecision::number<boost::multiprecision::cpp_int_backend<32, 32, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void> > unchecked_uint32_t;
+
+//
+// Construct from int:
+//
+BOOST_STATIC_ASSERT(noexcept(unchecked_int32_t(std::declval<boost::int32_t>())));
+BOOST_STATIC_ASSERT(noexcept(checked_int32_t(std::declval<boost::int32_t>())));
+BOOST_STATIC_ASSERT(noexcept(unchecked_uint32_t(std::declval<boost::int32_t>())));
+BOOST_STATIC_ASSERT(!noexcept(checked_uint32_t(std::declval<boost::int32_t>())));
+//
+// Construct from unsigned int:
+//
+BOOST_STATIC_ASSERT(noexcept(unchecked_int32_t(std::declval<boost::uint32_t>())));
+BOOST_STATIC_ASSERT(noexcept(checked_int32_t(std::declval<boost::uint32_t>())));
+BOOST_STATIC_ASSERT(noexcept(unchecked_uint32_t(std::declval<boost::uint32_t>())));
+BOOST_STATIC_ASSERT(noexcept(checked_uint32_t(std::declval<boost::uint32_t>())));
+//
+// Assign from int:
+//
+BOOST_STATIC_ASSERT(noexcept(std::declval<unchecked_int32_t>() = std::declval<boost::int32_t>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<checked_int32_t>() = std::declval<boost::int32_t>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<unchecked_uint32_t>() = std::declval<boost::int32_t>()));
+BOOST_STATIC_ASSERT(!noexcept(std::declval<checked_uint32_t>() = std::declval<boost::int32_t>()));
+//
+// Assign from unsigned int:
+//
+BOOST_STATIC_ASSERT(noexcept(std::declval<unchecked_int32_t>() = std::declval<boost::uint32_t>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<checked_int32_t>() = std::declval<boost::uint32_t>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<unchecked_uint32_t>() = std::declval<boost::uint32_t>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<checked_uint32_t>() = std::declval<boost::uint32_t>()));
+
+//
+// And finally some things which should *not* be noexcept:
+//
+typedef boost::multiprecision::number<boost::multiprecision::cpp_int_backend<30, 30, boost::multiprecision::signed_magnitude, boost::multiprecision::checked, void> > checked_int30_t;
+typedef boost::multiprecision::number<boost::multiprecision::cpp_int_backend<30, 30, boost::multiprecision::unsigned_magnitude, boost::multiprecision::checked, void> > checked_uint30_t;
+typedef boost::multiprecision::number<boost::multiprecision::cpp_int_backend<30, 30, boost::multiprecision::signed_magnitude, boost::multiprecision::unchecked, void> > unchecked_int30_t;
+typedef boost::multiprecision::number<boost::multiprecision::cpp_int_backend<30, 30, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void> > unchecked_uint30_t;
+
+//
+// Construct from int:
+//
+BOOST_STATIC_ASSERT(!noexcept(checked_int30_t(std::declval<boost::int32_t>())));
+BOOST_STATIC_ASSERT(!noexcept(checked_uint30_t(std::declval<boost::int32_t>())));
+BOOST_STATIC_ASSERT(!noexcept(checked_int32_t(std::declval<boost::int64_t>())));
+BOOST_STATIC_ASSERT(!noexcept(checked_uint32_t(std::declval<boost::int64_t>())));
+//
+// Construct from unsigned int:
+//
+BOOST_STATIC_ASSERT(!noexcept(checked_int30_t(std::declval<boost::uint32_t>())));
+BOOST_STATIC_ASSERT(!noexcept(checked_uint30_t(std::declval<boost::uint32_t>())));
+BOOST_STATIC_ASSERT(!noexcept(checked_int32_t(std::declval<boost::uint64_t>())));
+BOOST_STATIC_ASSERT(!noexcept(checked_uint32_t(std::declval<boost::uint64_t>())));
+//
+// Assign from int:
+//
+BOOST_STATIC_ASSERT(!noexcept(std::declval<checked_int30_t>() = std::declval<boost::int32_t>()));
+BOOST_STATIC_ASSERT(!noexcept(std::declval<checked_uint30_t>() = std::declval<boost::int32_t>()));
+BOOST_STATIC_ASSERT(!noexcept(std::declval<checked_int32_t>() = std::declval<boost::int64_t>()));
+BOOST_STATIC_ASSERT(!noexcept(std::declval<checked_uint32_t>() = std::declval<boost::int64_t>()));
+//
+// Assign from unsigned int:
+//
+BOOST_STATIC_ASSERT(!noexcept(std::declval<checked_int30_t>() = std::declval<boost::uint32_t>()));
+BOOST_STATIC_ASSERT(!noexcept(std::declval<checked_uint30_t>() = std::declval<boost::uint32_t>()));
+BOOST_STATIC_ASSERT(!noexcept(std::declval<checked_int32_t>() = std::declval<boost::uint64_t>()));
+BOOST_STATIC_ASSERT(!noexcept(std::declval<checked_uint32_t>() = std::declval<boost::uint64_t>()));
+
+#endif // noexcept
+
diff --git a/libs/multiprecision/test/test_nothrow_cpp_rational.cpp b/libs/multiprecision/test/test_nothrow_cpp_rational.cpp
new file mode 100644
index 0000000000..a6949fb75a
--- /dev/null
+++ b/libs/multiprecision/test/test_nothrow_cpp_rational.cpp
@@ -0,0 +1,208 @@
+///////////////////////////////////////////////////////////////////////////////
+// Copyright 2015 John Maddock. Distributed under the Boost
+// Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include <boost/multiprecision/cpp_int.hpp>
+#include <boost/type_traits/is_nothrow_move_constructible.hpp>
+#include <boost/type_traits/is_nothrow_move_assignable.hpp>
+#include <boost/type_traits/has_nothrow_constructor.hpp>
+#include <boost/type_traits/has_nothrow_assign.hpp>
+#include <boost/type_traits/has_nothrow_copy.hpp>
+#include <boost/static_assert.hpp>
+
+typedef boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::int128_t::backend_type> > rat128_t;
+typedef boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::uint128_t::backend_type> > urat128_t;
+typedef boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::int512_t::backend_type> > rat512_t;
+typedef boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::uint512_t::backend_type> > urat512_t;
+
+typedef boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::checked_int128_t::backend_type> > checked_rat128_t;
+typedef boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::checked_uint128_t::backend_type> > checked_urat128_t;
+typedef boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::checked_int512_t::backend_type> > checked_rat512_t;
+typedef boost::multiprecision::number<boost::multiprecision::rational_adaptor<boost::multiprecision::checked_uint512_t::backend_type> > checked_urat512_t;
+
+#ifndef BOOST_NO_NOEXCEPT
+
+#if !defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(BOOST_NO_SFINAE_EXPR) || defined(BOOST_IS_NOTHROW_MOVE_CONSTRUCT)
+//
+// Move construct:
+//
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_constructible<boost::multiprecision::cpp_rational>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_constructible<rat128_t>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_constructible<checked_rat128_t>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_constructible<urat128_t>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_constructible<checked_urat128_t>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_constructible<rat512_t>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_constructible<checked_rat512_t>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_constructible<urat512_t>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_constructible<checked_urat512_t>::value);
+
+#endif
+
+#if !defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(BOOST_NO_SFINAE_EXPR) || defined(BOOST_IS_NOTHROW_MOVE_ASSIGN)
+//
+// Move assign:
+//
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_assignable<boost::multiprecision::cpp_rational>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_assignable<rat128_t>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_assignable<checked_rat128_t>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_assignable<urat128_t>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_assignable<checked_urat128_t>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_assignable<rat512_t>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_assignable<checked_rat512_t>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_assignable<urat512_t>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_assignable<checked_urat512_t>::value);
+
+#endif
+
+#if 0
+//
+// Everything below could/should be made to work, given modifications to Boost.Rational
+//
+
+
+//
+// Construct:
+//
+#ifdef BOOST_HAS_NOTHROW_CONSTRUCTOR
+BOOST_STATIC_ASSERT(boost::has_nothrow_constructor<boost::multiprecision::cpp_rational>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_constructor<rat128_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_constructor<checked_rat128_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_constructor<urat128_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_constructor<checked_urat128_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_constructor<rat512_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_constructor<checked_rat512_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_constructor<urat512_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_constructor<checked_urat512_t>::value);
+#endif
+//
+// Copy construct:
+//
+#ifdef BOOST_HAS_NOTHROW_COPY
+BOOST_STATIC_ASSERT(!boost::has_nothrow_copy<boost::multiprecision::cpp_rational>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_copy<rat128_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_copy<checked_rat128_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_copy<urat128_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_copy<checked_urat128_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_copy<rat512_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_copy<checked_rat512_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_copy<urat512_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_copy<checked_urat512_t>::value);
+#endif
+//
+// Assign:
+//
+#ifdef BOOST_HAS_NOTHROW_ASSIGN
+BOOST_STATIC_ASSERT(!boost::has_nothrow_assign<boost::multiprecision::cpp_rational>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_assign<rat128_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_assign<checked_rat128_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_assign<urat128_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_assign<checked_urat128_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_assign<rat512_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_assign<checked_rat512_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_assign<urat512_t>::value);
+BOOST_STATIC_ASSERT(boost::has_nothrow_assign<checked_urat512_t>::value);
+#endif
+//
+// Construct from int:
+//
+BOOST_STATIC_ASSERT(noexcept(boost::multiprecision::cpp_rational(std::declval<boost::multiprecision::signed_limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(rat128_t(std::declval<boost::multiprecision::signed_limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(checked_rat128_t(std::declval<boost::multiprecision::signed_limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(urat128_t(std::declval<boost::multiprecision::signed_limb_type>())));
+BOOST_STATIC_ASSERT(!noexcept(checked_urat128_t(std::declval<boost::multiprecision::signed_limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(rat512_t(std::declval<boost::multiprecision::signed_limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(checked_rat512_t(std::declval<boost::multiprecision::signed_limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(urat512_t(std::declval<boost::multiprecision::signed_limb_type>())));
+BOOST_STATIC_ASSERT(!noexcept(checked_urat512_t(std::declval<boost::multiprecision::signed_limb_type>())));
+//
+// Construct from unsigned int:
+//
+BOOST_STATIC_ASSERT(noexcept(boost::multiprecision::cpp_rational(std::declval<boost::multiprecision::limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(rat128_t(std::declval<boost::multiprecision::limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(checked_rat128_t(std::declval<boost::multiprecision::limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(urat128_t(std::declval<boost::multiprecision::limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(checked_urat128_t(std::declval<boost::multiprecision::limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(rat512_t(std::declval<boost::multiprecision::limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(checked_rat512_t(std::declval<boost::multiprecision::limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(urat512_t(std::declval<boost::multiprecision::limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(checked_urat512_t(std::declval<boost::multiprecision::limb_type>())));
+//
+// Assign from int:
+//
+BOOST_STATIC_ASSERT(noexcept(std::declval<boost::multiprecision::cpp_rational>() = std::declval<boost::multiprecision::signed_limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<rat128_t>() = std::declval<boost::multiprecision::signed_limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<checked_rat128_t>() = std::declval<boost::multiprecision::signed_limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<urat128_t>() = std::declval<boost::multiprecision::signed_limb_type>()));
+BOOST_STATIC_ASSERT(!noexcept(std::declval<checked_urat128_t>() = std::declval<boost::multiprecision::signed_limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<rat512_t>() = std::declval<boost::multiprecision::signed_limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<checked_rat512_t>() = std::declval<boost::multiprecision::signed_limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<urat512_t>() = std::declval<boost::multiprecision::signed_limb_type>()));
+BOOST_STATIC_ASSERT(!noexcept(std::declval<checked_urat512_t>() = std::declval<boost::multiprecision::signed_limb_type>()));
+//
+// Assign from unsigned int:
+//
+BOOST_STATIC_ASSERT(noexcept(std::declval<boost::multiprecision::cpp_rational>() = std::declval<boost::multiprecision::limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<rat128_t>() = std::declval<boost::multiprecision::limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<checked_rat128_t>() = std::declval<boost::multiprecision::limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<urat128_t>() = std::declval<boost::multiprecision::limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<checked_urat128_t>() = std::declval<boost::multiprecision::limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<rat512_t>() = std::declval<boost::multiprecision::limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<checked_rat512_t>() = std::declval<boost::multiprecision::limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<urat512_t>() = std::declval<boost::multiprecision::limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<checked_urat512_t>() = std::declval<boost::multiprecision::limb_type>()));
+
+#if defined(BOOST_LITTLE_ENDIAN)
+//
+// Construct from int:
+//
+BOOST_STATIC_ASSERT(noexcept(boost::multiprecision::cpp_rational(std::declval<boost::multiprecision::signed_double_limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(rat128_t(std::declval<boost::multiprecision::signed_double_limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(checked_rat128_t(std::declval<boost::multiprecision::signed_double_limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(urat128_t(std::declval<boost::multiprecision::signed_double_limb_type>())));
+BOOST_STATIC_ASSERT(!noexcept(checked_urat128_t(std::declval<boost::multiprecision::signed_double_limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(rat512_t(std::declval<boost::multiprecision::signed_double_limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(checked_rat512_t(std::declval<boost::multiprecision::signed_double_limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(urat512_t(std::declval<boost::multiprecision::signed_double_limb_type>())));
+BOOST_STATIC_ASSERT(!noexcept(checked_urat512_t(std::declval<boost::multiprecision::signed_double_limb_type>())));
+//
+// Construct from unsigned int:
+//
+BOOST_STATIC_ASSERT(noexcept(boost::multiprecision::cpp_rational(std::declval<boost::multiprecision::double_limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(rat128_t(std::declval<boost::multiprecision::double_limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(checked_rat128_t(std::declval<boost::multiprecision::double_limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(urat128_t(std::declval<boost::multiprecision::double_limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(checked_urat128_t(std::declval<boost::multiprecision::double_limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(rat512_t(std::declval<boost::multiprecision::double_limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(checked_rat512_t(std::declval<boost::multiprecision::double_limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(urat512_t(std::declval<boost::multiprecision::double_limb_type>())));
+BOOST_STATIC_ASSERT(noexcept(checked_urat512_t(std::declval<boost::multiprecision::double_limb_type>())));
+//
+// Assign from int:
+//
+BOOST_STATIC_ASSERT(noexcept(std::declval<boost::multiprecision::cpp_rational>() = std::declval<boost::multiprecision::signed_double_limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<rat128_t>() = std::declval<boost::multiprecision::signed_double_limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<checked_rat128_t>() = std::declval<boost::multiprecision::signed_double_limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<urat128_t>() = std::declval<boost::multiprecision::signed_double_limb_type>()));
+BOOST_STATIC_ASSERT(!noexcept(std::declval<checked_urat128_t>() = std::declval<boost::multiprecision::signed_double_limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<rat512_t>() = std::declval<boost::multiprecision::signed_double_limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<checked_rat512_t>() = std::declval<boost::multiprecision::signed_double_limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<urat512_t>() = std::declval<boost::multiprecision::signed_double_limb_type>()));
+BOOST_STATIC_ASSERT(!noexcept(std::declval<checked_urat512_t>() = std::declval<boost::multiprecision::signed_double_limb_type>()));
+//
+// Assign from unsigned int:
+//
+BOOST_STATIC_ASSERT(noexcept(std::declval<boost::multiprecision::cpp_rational>() = std::declval<boost::multiprecision::double_limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<rat128_t>() = std::declval<boost::multiprecision::double_limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<checked_rat128_t>() = std::declval<boost::multiprecision::double_limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<urat128_t>() = std::declval<boost::multiprecision::double_limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<checked_urat128_t>() = std::declval<boost::multiprecision::double_limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<rat512_t>() = std::declval<boost::multiprecision::double_limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<checked_rat512_t>() = std::declval<boost::multiprecision::double_limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<urat512_t>() = std::declval<boost::multiprecision::double_limb_type>()));
+BOOST_STATIC_ASSERT(noexcept(std::declval<checked_urat512_t>() = std::declval<boost::multiprecision::double_limb_type>()));
+
+#endif
+#endif // little endian
+#endif // noexcept
+
diff --git a/libs/multiprecision/test/test_nothrow_float128.cpp b/libs/multiprecision/test/test_nothrow_float128.cpp
new file mode 100644
index 0000000000..921880e5ed
--- /dev/null
+++ b/libs/multiprecision/test/test_nothrow_float128.cpp
@@ -0,0 +1,53 @@
+///////////////////////////////////////////////////////////////////////////////
+// Copyright 2015 John Maddock. Distributed under the Boost
+// Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include <boost/multiprecision/float128.hpp>
+#include <boost/type_traits/is_nothrow_move_constructible.hpp>
+#include <boost/type_traits/is_nothrow_move_assignable.hpp>
+#include <boost/type_traits/has_nothrow_constructor.hpp>
+#include <boost/type_traits/has_nothrow_assign.hpp>
+#include <boost/type_traits/has_nothrow_copy.hpp>
+#include <boost/static_assert.hpp>
+
+#ifndef BOOST_NO_NOEXCEPT
+
+#if !defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(BOOST_NO_SFINAE_EXPR) || defined(BOOST_IS_NOTHROW_MOVE_CONSTRUCT)
+//
+// Move construct:
+//
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_constructible<boost::multiprecision::float128>::value);
+
+#endif
+
+#if !defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(BOOST_NO_SFINAE_EXPR) || defined(BOOST_IS_NOTHROW_MOVE_ASSIGN)
+//
+// Move assign:
+//
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_assignable<boost::multiprecision::float128>::value);
+
+#endif
+
+//
+// Construct:
+//
+#ifdef BOOST_HAS_NOTHROW_CONSTRUCTOR
+BOOST_STATIC_ASSERT(boost::has_nothrow_constructor<boost::multiprecision::float128>::value);
+#endif
+//
+// Copy construct:
+//
+#ifdef BOOST_HAS_NOTHROW_COPY
+BOOST_STATIC_ASSERT(boost::has_nothrow_copy<boost::multiprecision::float128>::value);
+#endif
+//
+// Assign:
+//
+#ifdef BOOST_HAS_NOTHROW_ASSIGN
+BOOST_STATIC_ASSERT(boost::has_nothrow_assign<boost::multiprecision::float128>::value);
+#endif
+
+#endif // noexcept
+
+
diff --git a/libs/multiprecision/test/test_nothrow_gmp.cpp b/libs/multiprecision/test/test_nothrow_gmp.cpp
new file mode 100644
index 0000000000..3c48d5b304
--- /dev/null
+++ b/libs/multiprecision/test/test_nothrow_gmp.cpp
@@ -0,0 +1,38 @@
+///////////////////////////////////////////////////////////////////////////////
+// Copyright 2015 John Maddock. Distributed under the Boost
+// Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include <boost/multiprecision/gmp.hpp>
+#include <boost/type_traits/is_nothrow_move_constructible.hpp>
+#include <boost/type_traits/is_nothrow_move_assignable.hpp>
+#include <boost/type_traits/has_nothrow_constructor.hpp>
+#include <boost/type_traits/has_nothrow_assign.hpp>
+#include <boost/type_traits/has_nothrow_copy.hpp>
+#include <boost/static_assert.hpp>
+
+#ifndef BOOST_NO_NOEXCEPT
+
+#if !defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(BOOST_NO_SFINAE_EXPR) || defined(BOOST_IS_NOTHROW_MOVE_CONSTRUCT)
+//
+// Move construct:
+//
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_constructible<boost::multiprecision::mpz_int>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_constructible<boost::multiprecision::mpq_rational>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_constructible<boost::multiprecision::mpf_float>::value);
+
+#endif
+
+#if !defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(BOOST_NO_SFINAE_EXPR) || defined(BOOST_IS_NOTHROW_MOVE_ASSIGN)
+//
+// Move assign:
+//
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_assignable<boost::multiprecision::mpz_int>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_assignable<boost::multiprecision::mpq_rational>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_assignable<boost::multiprecision::mpf_float>::value);
+
+#endif
+
+#endif // noexcept
+
+
diff --git a/libs/multiprecision/test/test_nothrow_mpfr.cpp b/libs/multiprecision/test/test_nothrow_mpfr.cpp
new file mode 100644
index 0000000000..40de45edea
--- /dev/null
+++ b/libs/multiprecision/test/test_nothrow_mpfr.cpp
@@ -0,0 +1,36 @@
+///////////////////////////////////////////////////////////////////////////////
+// Copyright 2015 John Maddock. Distributed under the Boost
+// Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#include <boost/multiprecision/mpfr.hpp>
+#include <boost/type_traits/is_nothrow_move_constructible.hpp>
+#include <boost/type_traits/is_nothrow_move_assignable.hpp>
+#include <boost/type_traits/has_nothrow_constructor.hpp>
+#include <boost/type_traits/has_nothrow_assign.hpp>
+#include <boost/type_traits/has_nothrow_copy.hpp>
+#include <boost/static_assert.hpp>
+
+#ifndef BOOST_NO_NOEXCEPT
+
+#if !defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(BOOST_NO_SFINAE_EXPR) || defined(BOOST_IS_NOTHROW_MOVE_CONSTRUCT)
+//
+// Move construct:
+//
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_constructible<boost::multiprecision::mpfr_float>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_constructible<boost::multiprecision::mpfr_float_100>::value);
+
+#endif
+
+#if !defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(BOOST_NO_SFINAE_EXPR) || defined(BOOST_IS_NOTHROW_MOVE_ASSIGN)
+//
+// Move assign:
+//
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_assignable<boost::multiprecision::mpfr_float>::value);
+BOOST_STATIC_ASSERT(boost::is_nothrow_move_assignable<boost::multiprecision::mpfr_float_100>::value);
+
+#endif
+
+#endif // noexcept
+
+