diff options
author | DongHun Kwak <dh0128.kwak@samsung.com> | 2016-03-21 15:45:20 +0900 |
---|---|---|
committer | DongHun Kwak <dh0128.kwak@samsung.com> | 2016-03-21 15:46:37 +0900 |
commit | 733b5d5ae2c5d625211e2985ac25728ac3f54883 (patch) | |
tree | a5b214744b256f07e1dc2bd7273035a7808c659f /libs/multiprecision | |
parent | 08c1e93fa36a49f49325a07fe91ff92c964c2b6c (diff) | |
download | boost-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')
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 1. Boost.Multiprecision"> <link rel="up" href="../index.html" title="Chapter 1. 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 1. 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 1. 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 1. 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 1. 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 1. Boost.Multiprecision"> <link rel="up" href="../index.html" title="Chapter 1. Boost.Multiprecision"> <link rel="prev" href="../index.html" title="Chapter 1. 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 1. Boost.Multiprecision"> <link rel="up" href="../index.html" title="Chapter 1. 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 1. 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 1. 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 1. 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 1. 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 1. Boost.Multiprecision"> <link rel="up" href="../index.html" title="Chapter 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. Boost.Multiprecision"> <link rel="up" href="../index.html" title="Chapter 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. Boost.Multiprecision"> <link rel="up" href="../index.html" title="Chapter 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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<> constants</a></span></dt> <dt><span class="section"><a href="limits/functions.html">std::numeric_limits<> 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<> 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 1. 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<> 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 1. Boost.Multiprecision"> <link rel="up" href="../limits.html" title="Numeric Limits"> <link rel="prev" href="constants.html" title="std::numeric_limits<> 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 1. 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 1. Boost.Multiprecision"> <link rel="up" href="../limits.html" title="Numeric Limits"> <link rel="prev" href="functions.html" title="std::numeric_limits<> 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 1. 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 + + |