3 <meta http-equiv=
"Content-Type" content=
"text/html; charset=US-ASCII">
5 <link rel=
"stylesheet" href=
"../../../../../../doc/src/boostbook.css" type=
"text/css">
6 <meta name=
"generator" content=
"DocBook XSL Stylesheets V1.77.1">
7 <link rel=
"home" href=
"../../index.html" title=
"Chapter 1. Boost.Multiprecision">
8 <link rel=
"up" href=
"../map.html" title=
"Roadmap">
9 <link rel=
"prev" href=
"../map.html" title=
"Roadmap">
10 <link rel=
"next" href=
"todo.html" title=
"TODO">
12 <body bgcolor=
"white" text=
"black" link=
"#0000FF" vlink=
"#840084" alink=
"#0000FF">
13 <table cellpadding=
"2" width=
"100%"><tr>
14 <td valign=
"top"><img alt=
"Boost C++ Libraries" width=
"277" height=
"86" src=
"../../../../../../boost.png"></td>
15 <td align=
"center"><a href=
"../../../../../../index.html">Home
</a></td>
16 <td align=
"center"><a href=
"../../../../../../libs/libraries.htm">Libraries
</a></td>
17 <td align=
"center"><a href=
"http://www.boost.org/users/people.html">People
</a></td>
18 <td align=
"center"><a href=
"http://www.boost.org/users/faq.html">FAQ
</a></td>
19 <td align=
"center"><a href=
"../../../../../../more/index.htm">More
</a></td>
22 <div class=
"spirit-nav">
23 <a accesskey=
"p" href=
"../map.html"><img src=
"../../../../../../doc/src/images/prev.png" alt=
"Prev"></a><a accesskey=
"u" href=
"../map.html"><img src=
"../../../../../../doc/src/images/up.png" alt=
"Up"></a><a accesskey=
"h" href=
"../../index.html"><img src=
"../../../../../../doc/src/images/home.png" alt=
"Home"></a><a accesskey=
"n" href=
"todo.html"><img src=
"../../../../../../doc/src/images/next.png" alt=
"Next"></a>
26 <div class=
"titlepage"><div><div><h3 class=
"title">
27 <a name=
"boost_multiprecision.map.hist"></a><a class=
"link" href=
"hist.html" title=
"History">History
</a>
28 </h3></div></div></div>
30 <a name=
"boost_multiprecision.map.hist.h0"></a>
31 <span class=
"phrase"><a name=
"boost_multiprecision.map.hist.multiprecision_2_3_0_boost_1_63"></a></span><a class=
"link" href=
"hist.html#boost_multiprecision.map.hist.multiprecision_2_3_0_boost_1_63">Multiprecision-
2.3.0
34 <div class=
"itemizedlist"><ul class=
"itemizedlist" style=
"list-style-type: disc; ">
36 Added support for all the C99 math functions.
39 Extended generic-interconversions to handle narrowing cases as well,
40 changed convert_to member function and hence explicit conversion operators
41 to use the same conversion code as the explicit constructors.
44 Fix IO stream parsing error, see
<a href=
"https://svn.boost.org/trac/boost/ticket/12488" target=
"_top">#
12488</a>.
47 Make default constructed floating point types all zero for consistency,
48 see
<a href=
"https://svn.boost.org/trac/boost/ticket/12500" target=
"_top">#
12500</a>.
51 Fix conversion of cpp_bin_float to float/double/long double when the
52 exponent value would overflow an int, see
<a href=
"https://svn.boost.org/trac/boost/ticket/12512" target=
"_top">#
12512</a>.
55 Fix cpp_bin_float subtractions that yield signed-zeros, see
<a href=
"https://svn.boost.org/trac/boost/ticket/12524" target=
"_top">#
12524</a>.
58 Fix ceil/trunc/round applied to cpp_bin_float and yielding a signed zero,
59 see
<a href=
"https://svn.boost.org/trac/boost/ticket/12525" target=
"_top">#
12525</a>.
63 <a name=
"boost_multiprecision.map.hist.h1"></a>
64 <span class=
"phrase"><a name=
"boost_multiprecision.map.hist.multiprecision_2_2_8_boost_1_62"></a></span><a class=
"link" href=
"hist.html#boost_multiprecision.map.hist.multiprecision_2_2_8_boost_1_62">Multiprecision-
2.2.8
67 <div class=
"itemizedlist"><ul class=
"itemizedlist" style=
"list-style-type: disc; ">
69 Added support for hashing via
<code class=
"computeroutput"><span class=
"identifier">Boost
</span><span class=
"special">.
</span><span class=
"identifier">Hash
</span></code>
70 or
<code class=
"computeroutput"><span class=
"identifier">std
</span><span class=
"special">::
</span><span class=
"identifier">hash
</span></code>.
73 Fixed some arithmetic operations in cpp_bin_float and cpp_dec_float that
74 should generate a NaN, see
<a href=
"https://svn.boost.org/trac/boost/ticket/12157" target=
"_top">#
12157</a>.
77 Prevent inadvertant instantiation of variable-precision
<code class=
"computeroutput"><span class=
"identifier">mpfr_float_backend
</span></code> with fixed allocation.
80 Fixed division over/underflow in cpp_bin_float, see
<a href=
"https://svn.boost.org/trac/boost/ticket/12167" target=
"_top">#
12167</a>.
83 Added support for signed-zeros throughout the library, including support
84 for
<code class=
"computeroutput"><span class=
"identifier">signbit
</span></code> and
<code class=
"computeroutput"><span class=
"identifier">copysign
</span></code>, mpfr, float128, and cpp_bin_float
85 types should now respect signed-zeros correctly.
88 Fixed bug in conversion of cpp_bin_float infinities to double etc, see
89 <a href=
"https://svn.boost.org/trac/boost/ticket/12196" target=
"_top">#
12196</a>.
92 Fix add and subtract of cpp_bin_float when the exponents would overflow.,
93 see
<a href=
"https://svn.boost.org/trac/boost/ticket/12198" target=
"_top">#
12198</a>.
96 Improve variable-precision support in mpfr and mpf backends, allow these
97 types to be used with Boost.Math.
100 Fixed bug in subtraction of signed infinities in cpp_bin_float, see
101 <a href=
"https://svn.boost.org/trac/boost/ticket/12209" target=
"_top">#
12209</a>.
103 <li class=
"listitem">
104 Fix result of sqrt(infinity) in cpp_bin_float (result should be infinity),
105 see
<a href=
"https://svn.boost.org/trac/boost/ticket/12227" target=
"_top">#
12227</a>.
107 <li class=
"listitem">
108 Added workaround in gmp.hpp for recent MPIR releases which are not quite
109 source-compatible with GMP on Windows x64.
111 <li class=
"listitem">
112 Allow
<code class=
"computeroutput"><span class=
"identifier">cpp_int
</span></code> code to
113 be used with /RTCc with MSVC.
115 <li class=
"listitem">
116 Fix conversion of
<code class=
"computeroutput"><span class=
"identifier">cpp_int
</span></code>
117 to signed integer when the result is INT_MIN, see
<a href=
"https://svn.boost.org/trac/boost/ticket/12343" target=
"_top">#
12343</a>.
119 <li class=
"listitem">
120 Update uBlas support to match latest uBlas code.
122 <li class=
"listitem">
123 Fix some errors present when building on big-endian machines (not all
124 <code class=
"computeroutput"><span class=
"identifier">cpp_int
</span></code> constructors
125 are available on non-little-endian machines).
127 <li class=
"listitem">
128 Fix fencepost error in rational to float conversion routines, see
<a href=
"https://svn.boost.org/trac/boost/ticket/12327" target=
"_top">#
12327</a>.
130 <li class=
"listitem">
131 Fix some Oracle C++ compiler compatibility issues.
133 <li class=
"listitem">
134 Add modf support to complete C90 compatibility.
136 <li class=
"listitem">
137 Fix self assignment bug in expression template code for expressions such
138 as
<code class=
"computeroutput"><span class=
"identifier">a
</span> <span class=
"special">=
</span>
139 <span class=
"identifier">a
</span> <span class=
"special">*
</span>
140 <span class=
"identifier">a
</span> <span class=
"special">*
</span>
141 <span class=
"identifier">a
</span></code>, see
<a href=
"https://svn.boost.org/trac/boost/ticket/12408" target=
"_top">#
12408</a>.
143 <li class=
"listitem">
144 Fixed some compiler errors that occur when converting from
<code class=
"computeroutput"><span class=
"identifier">cpp_int
</span></code> to
<code class=
"computeroutput"><span class=
"identifier">cpp_bin_float
</span></code>.
148 <a name=
"boost_multiprecision.map.hist.h2"></a>
149 <span class=
"phrase"><a name=
"boost_multiprecision.map.hist.multiprecision_2_2_7_boost_1_61"></a></span><a class=
"link" href=
"hist.html#boost_multiprecision.map.hist.multiprecision_2_2_7_boost_1_61">Multiprecision-
2.2.7
152 <div class=
"itemizedlist"><ul class=
"itemizedlist" style=
"list-style-type: disc; ">
153 <li class=
"listitem">
154 Fixed bug in stream input for integer types, see
<a href=
"https://svn.boost.org/trac/boost/ticket/11857" target=
"_top">#
11857</a>.
156 <li class=
"listitem">
157 Fixed some ambiguous conversions involving expression templates see
158 <a href=
"https://svn.boost.org/trac/boost/ticket/11922" target=
"_top">#
11922</a>.
160 <li class=
"listitem">
161 Add expression template aware min/max overloads see
<a href=
"https://svn.boost.org/trac/boost/ticket/11149" target=
"_top">#
11149</a>.
163 <li class=
"listitem">
164 Fix bug in right shifting negative small integers in cpp_int see
<a href=
"https://svn.boost.org/trac/boost/ticket/11999" target=
"_top">#
11999</a>.
166 <li class=
"listitem">
167 Use memmove for bitshifts in cpp_int when possible see
<a href=
"https://svn.boost.org/trac/boost/ticket/9233" target=
"_top">#
9233</a>.
169 <li class=
"listitem">
170 Use memcpy for data import into cpp_int where possible, see
<a href=
"https://svn.boost.org/trac/boost/ticket/9235" target=
"_top">#
9235</a>.
172 <li class=
"listitem">
173 Changed
<code class=
"computeroutput"><span class=
"identifier">cpp_bin_float
</span><span class=
"special">.
</span><span class=
"identifier">convert_to
</span><span class=
"special"><</span><span class=
"keyword">double
</span><span class=
"special">>()
</span></code> to a function template rather than
174 proceding via
<code class=
"computeroutput"><span class=
"keyword">long
</span> <span class=
"keyword">double
</span></code>
175 to avoid double-rounding bug, see
<a href=
"https://svn.boost.org/trac/boost/ticket/12039" target=
"_top">#
12039</a>.
177 <li class=
"listitem">
178 Fixed conversions from NaN's and Infinities, see
<a href=
"https://svn.boost.org/trac/boost/ticket/12112" target=
"_top">#
12112</a>.
180 <li class=
"listitem">
181 Enabled better support for Clang on Windows.
183 <li class=
"listitem">
184 Fixed handling of NaN's and Infinities in basic arithmetic for cpp_dec_float
185 and cpp_bin_float, see
<a href=
"https://svn.boost.org/trac/boost/ticket/12090" target=
"_top">#
12090</a>.
187 <li class=
"listitem">
188 Fixed fencepost error in cpp_bin_float subtraction.
190 <li class=
"listitem">
191 Fixed double-rounding in conversion to float routines for cpp_bin_float,
192 see
<a href=
"https://svn.boost.org/trac/boost/ticket/12039" target=
"_top">#
12039</a>.
194 <li class=
"listitem">
195 Make float128 denorm aware, see
<a href=
"https://svn.boost.org/trac/boost/ticket/12075" target=
"_top">#
12075</a>.
197 <li class=
"listitem">
198 Allow the library and tests to be used without exception handling support,
199 see
<a href=
"https://svn.boost.org/trac/boost/ticket/12070" target=
"_top">#
12070</a>.
201 <li class=
"listitem">
202 Fixed buggy comparison operator overloads for boost::rational.
204 <li class=
"listitem">
205 Added some workarounds for Oracle C++.
207 <li class=
"listitem">
208 Fixed some missing typecasts for cases where cpp_int's limb_type is wider
213 <a name=
"boost_multiprecision.map.hist.h3"></a>
214 <span class=
"phrase"><a name=
"boost_multiprecision.map.hist.multiprecision_2_2_6_boost_1_60"></a></span><a class=
"link" href=
"hist.html#boost_multiprecision.map.hist.multiprecision_2_2_6_boost_1_60">Multiprecision-
2.2.6
217 <div class=
"itemizedlist"><ul class=
"itemizedlist" style=
"list-style-type: disc; ">
218 <li class=
"listitem">
219 Fixed result of Miller Rabin primality test for value
2, see
<a href=
"https://svn.boost.org/trac/boost/ticket/11495" target=
"_top">#
11495</a>.
221 <li class=
"listitem">
222 Improved initialization of cpp_int from very large strings of hex or
223 octal digits, see
<a href=
"https://svn.boost.org/trac/boost/ticket/11590" target=
"_top">#
11590</a>.
225 <li class=
"listitem">
226 Fixed fmod behaviour for negative divisors, see
<a href=
"https://svn.boost.org/trac/boost/ticket/11641" target=
"_top">#
11641</a>.
228 <li class=
"listitem">
229 Fixed infinite division loop in cpp_int special case, see
<a href=
"https://svn.boost.org/trac/boost/ticket/11648" target=
"_top">#
11648</a>.
231 <li class=
"listitem">
232 Patched missing return statement in
<a href=
"https://svn.boost.org/trac/boost/ticket/11762" target=
"_top">#
11762</a>.
234 <li class=
"listitem">
235 Fixed mixed mode arithmetic compiler error in
<a href=
"https://svn.boost.org/trac/boost/ticket/11764" target=
"_top">#
11764</a>.
237 <li class=
"listitem">
238 Fixed over-aggressive use of noexcept in
<a href=
"https://svn.boost.org/trac/boost/ticket/11826" target=
"_top">#
11826</a>.
242 <a name=
"boost_multiprecision.map.hist.h4"></a>
243 <span class=
"phrase"><a name=
"boost_multiprecision.map.hist.multiprecision_2_2_5_boost_1_59"></a></span><a class=
"link" href=
"hist.html#boost_multiprecision.map.hist.multiprecision_2_2_5_boost_1_59">Multiprecision-
2.2.5
246 <div class=
"itemizedlist"><ul class=
"itemizedlist" style=
"list-style-type: disc; ">
247 <li class=
"listitem">
248 Depricated boost/multiprecision/random.hpp as it's no longer needed,
249 updated random examples to match.
251 <li class=
"listitem">
252 Fixed a bug in cpp_int's right shift operator when shifting negative
253 values - semantics now gives the same values as shifting
2's compliment
254 integers, though not the same bit pattern.
256 <li class=
"listitem">
257 Fixed support for GCC-
4.6.4 in C++
0x mode by disabling conditional noexcept
258 suppoprt for that compiler see
<a href=
"https://svn.boost.org/trac/boost/ticket/11402" target=
"_top">#
11402</a>.
260 <li class=
"listitem">
261 Suppressed numerous compiler warnings.
265 <a name=
"boost_multiprecision.map.hist.h5"></a>
266 <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
269 <div class=
"itemizedlist"><ul class=
"itemizedlist" style=
"list-style-type: disc; ">
270 <li class=
"listitem">
271 Changed
<code class=
"computeroutput"><span class=
"identifier">frexp
</span></code> to always
272 be non-expression template generating, see:
<a href=
"https://svn.boost.org/trac/boost/ticket/10993" target=
"_top">10993</a>.
274 <li class=
"listitem">
275 Improved support of cpp_dec_float on Cygwin and other platforms with
276 missing long double support, see
<a href=
"https://svn.boost.org/trac/boost/ticket/10924" target=
"_top">10924</a>.
278 <li class=
"listitem">
279 Improved noexcept support and added some more tests, see
<a href=
"https://svn.boost.org/trac/boost/ticket/10990" target=
"_top">10990</a>.
281 <li class=
"listitem">
282 Various workarounds applied for Intel-
15.0 and Solaris-
12.4 compilers.
286 <a name=
"boost_multiprecision.map.hist.h6"></a>
287 <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
290 <div class=
"itemizedlist"><ul class=
"itemizedlist" style=
"list-style-type: disc; ">
291 <li class=
"listitem">
292 Changed rational to float conversions to exactly round to nearest, see
293 <a href=
"https://svn.boost.org/trac/boost/ticket/10085" target=
"_top">10085</a>.
295 <li class=
"listitem">
296 Added improved generic float to rational conversions.
298 <li class=
"listitem">
299 Fixed rare bug in exponent function for
<a class=
"link" href=
"../tut/floats/cpp_bin_float.html" title=
"cpp_bin_float">cpp_bin_float
</a>.
301 <li class=
"listitem">
302 Fixed various minor documentation issues.
306 <a name=
"boost_multiprecision.map.hist.h7"></a>
307 <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
310 <div class=
"itemizedlist"><ul class=
"itemizedlist" style=
"list-style-type: disc; ">
311 <li class=
"listitem">
312 Change floating-point to rational conversions to be implicit, see
<a href=
"https://svn.boost.org/trac/boost/ticket/10082" target=
"_top">10082</a>.
314 <li class=
"listitem">
315 Fix definition of checked_cpp_rational typedef.
319 <a name=
"boost_multiprecision.map.hist.h8"></a>
320 <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>
322 <div class=
"itemizedlist"><ul class=
"itemizedlist" style=
"list-style-type: disc; "><li class=
"listitem">
323 Fix bug in assignment from string in cpp_int, see
<a href=
"https://svn.boost.org/trac/boost/ticket/9936" target=
"_top">9936</a>.
326 <a name=
"boost_multiprecision.map.hist.h9"></a>
327 <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>
329 <div class=
"itemizedlist"><ul class=
"itemizedlist" style=
"list-style-type: disc; ">
330 <li class=
"listitem">
331 Moved to Boost.Multiprecision specific version number - we have one breaking
332 change in Boost-
1.54 which makes this major version
2, plus two releases
333 with new features since then.
335 <li class=
"listitem">
336 Added new
<a class=
"link" href=
"../tut/floats/cpp_bin_float.html" title=
"cpp_bin_float">cpp_bin_float
</a>
337 backend for binary floating-point.
339 <li class=
"listitem">
340 Added MSVC-specific #include for compiler intrinsics, see
<a href=
"https://svn.boost.org/trac/boost/ticket/9336" target=
"_top">9336</a>.
342 <li class=
"listitem">
343 Fixed various typos in docs, see
<a href=
"https://svn.boost.org/trac/boost/ticket/9432" target=
"_top">9432</a>.
345 <li class=
"listitem">
346 Fixed
<a class=
"link" href=
"../tut/rational/gmp_rational.html" title=
"gmp_rational">gmp_rational
</a>
347 to allow move-copy from an already copied-from object, see
<a href=
"https://svn.boost.org/trac/boost/ticket/9497" target=
"_top">9497</a>.
349 <li class=
"listitem">
350 Added list of values for numeric_limits.
354 <a name=
"boost_multiprecision.map.hist.h10"></a>
355 <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>
357 <div class=
"itemizedlist"><ul class=
"itemizedlist" style=
"list-style-type: disc; ">
358 <li class=
"listitem">
359 Added support for Boost.Serialization.
361 <li class=
"listitem">
362 Suppressed some GCC warnings. See
<a href=
"https://svn.boost.org/trac/boost/ticket/8872" target=
"_top">8872</a>.
364 <li class=
"listitem">
365 Fixed bug in pow for large integer arguments. See
<a href=
"https://svn.boost.org/trac/boost/ticket/8809" target=
"_top">8809</a>.
367 <li class=
"listitem">
368 Fixed bug in pow for calculation of
0<sup>N
</sup>. See
<a href=
"https://svn.boost.org/trac/boost/ticket/8798" target=
"_top">8798</a>.
370 <li class=
"listitem">
371 Fixed bug in fixed precision cpp_int IO code that causes conversion to
372 string to fail when the bit count is very small (less than CHAR_BIT).
373 See
<a href=
"https://svn.boost.org/trac/boost/ticket/8745" target=
"_top">8745</a>.
375 <li class=
"listitem">
376 Fixed bug in cpp_int that causes left shift to fail when a fixed precision
377 type would overflow. See
<a href=
"https://svn.boost.org/trac/boost/ticket/8741" target=
"_top">8741</a>.
379 <li class=
"listitem">
380 Fixed some cosmetic warnings from cpp_int. See
<a href=
"https://svn.boost.org/trac/boost/ticket/8748" target=
"_top">8748</a>.
382 <li class=
"listitem">
383 Fixed calls to functions which are required to be macros in C99. See
384 <a href=
"https://svn.boost.org/trac/boost/ticket/8732" target=
"_top">8732</a>.
386 <li class=
"listitem">
387 Fixed bug that causes construction from INT_MIN, LONG_MIN etc to fail
388 in cpp_int. See
<a href=
"https://svn.boost.org/trac/boost/ticket/8711" target=
"_top">8711</a>.
392 <a name=
"boost_multiprecision.map.hist.h11"></a>
393 <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>
395 <div class=
"itemizedlist"><ul class=
"itemizedlist" style=
"list-style-type: disc; ">
396 <li class=
"listitem">
397 <span class=
"bold"><strong>Breaking change
</strong></span> renamed
<code class=
"computeroutput"><span class=
"identifier">rational_adapter
</span></code> to
<code class=
"computeroutput"><span class=
"identifier">rational_adaptor
</span></code>.
399 <li class=
"listitem">
400 Add support for
<a href=
"http://perso.ens-lyon.fr/nathalie.revol/software.html" target=
"_top">MPFI
</a>.
402 <li class=
"listitem">
405 <li class=
"listitem">
406 Add support for
128-bit floats via GCC's
<code class=
"computeroutput"><a class=
"link" href=
"../tut/floats/float128.html" title=
"float128">float128
</a></code>
407 or Intel's
<code class=
"computeroutput"><span class=
"identifier">_Quad
</span></code> data
410 <li class=
"listitem">
411 Add support for user-defined literals in cpp_int, improve
<code class=
"computeroutput"><span class=
"keyword">constexpr
</span></code> support.
413 <li class=
"listitem">
414 Fixed bug in integer division of
<code class=
"computeroutput"><span class=
"identifier">cpp_int
</span></code>
415 that results in incorrect sign of
<code class=
"computeroutput"><span class=
"identifier">cpp_int
</span></code>
416 when both arguments are small enough to fit in a
<code class=
"computeroutput"><span class=
"identifier">double_limb_type
</span></code>.
417 See
<a href=
"https://svn.boost.org/trac/boost/ticket/8126" target=
"_top">8126</a>.
419 <li class=
"listitem">
420 Fixed bug in subtraction of a single limb in
<code class=
"computeroutput"><span class=
"identifier">cpp_int
</span></code>
421 that results in incorrect value when the result should have a
0 in the
422 last limb:
<a href=
"https://svn.boost.org/trac/boost/ticket/8133" target=
"_top">8133</a>.
424 <li class=
"listitem">
425 Fixed bug in
<code class=
"computeroutput"><span class=
"identifier">cpp_int
</span></code>
426 where division of
0 by something doesn't get zero in the result:
<a href=
"https://svn.boost.org/trac/boost/ticket/8160" target=
"_top">8160</a>.
428 <li class=
"listitem">
429 Fixed bug in some transcendental functions that caused incorrect return
430 values when variables are reused, for example with
<code class=
"computeroutput"><span class=
"identifier">a
</span>
431 <span class=
"special">=
</span> <span class=
"identifier">pow
</span><span class=
"special">(
</span><span class=
"identifier">a
</span><span class=
"special">,
</span> <span class=
"identifier">b
</span><span class=
"special">)
</span></code>. See
<a href=
"https://svn.boost.org/trac/boost/ticket/8326" target=
"_top">8326</a>.
433 <li class=
"listitem">
434 Fixed some assignment operations in the mpfr and gmp backends to be safe
435 if the target has been moved from:
<a href=
"https://svn.boost.org/trac/boost/ticket/8326" target=
"_top">8667</a>.
437 <li class=
"listitem">
438 Fixed bug in
<code class=
"computeroutput"><span class=
"identifier">cpp_int
</span></code>
439 that gives incorrect answer for
0%N for large N:
<a href=
"https://svn.boost.org/trac/boost/ticket/8670" target=
"_top">8670</a>.
441 <li class=
"listitem">
442 Fixed set_precision in mpfr backend so it doesn't trample over an existing
443 value:
<a href=
"https://svn.boost.org/trac/boost/ticket/8692" target=
"_top">8692</a>.
447 <a name=
"boost_multiprecision.map.hist.h12"></a>
448 <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>
450 <div class=
"itemizedlist"><ul class=
"itemizedlist" style=
"list-style-type: disc; ">
451 <li class=
"listitem">
454 <li class=
"listitem">
455 Fix bug in
<a href=
"https://svn.boost.org/trac/boost/ticket/7878" target=
"_top">cpp_int
458 <li class=
"listitem">
459 Fix issue
<a href=
"https://svn.boost.org/trac/boost/ticket/7806" target=
"_top">#
7806</a>.
463 <a name=
"boost_multiprecision.map.hist.h13"></a>
464 <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
467 <div class=
"itemizedlist"><ul class=
"itemizedlist" style=
"list-style-type: disc; ">
468 <li class=
"listitem">
469 Non-expression template operators further optimised with rvalue reference
472 <li class=
"listitem">
473 Many functions made
<code class=
"computeroutput"><span class=
"identifier">constexp
</span></code>.
475 <li class=
"listitem">
476 Differentiate between explicit and implicit conversions in the number
479 <li class=
"listitem">
480 Removed
"mp_" prefix from types.
482 <li class=
"listitem">
483 Allowed mixed precision arithmetic.
485 <li class=
"listitem">
486 Changed ExpressionTemplates parameter to class
<code class=
"computeroutput"><span class=
"identifier">number
</span></code>
487 to use enumerated values rather than true/false.
489 <li class=
"listitem">
490 Changed ExpressionTemplate parameter default value to use a traits class
491 so that the default value depends on the backend used.
493 <li class=
"listitem">
494 Added support for fused-multiply-add/subtract with GMP support.
496 <li class=
"listitem">
497 Tweaked expression template unpacking to use fewer temporaries when the
498 LHS also appears in the RHS.
500 <li class=
"listitem">
501 Refactored
<code class=
"computeroutput"><span class=
"identifier">cpp_int_backend
</span></code>
502 based on review comments with new template parameter structure.
504 <li class=
"listitem">
505 Added additional template parameter to
<code class=
"computeroutput"><span class=
"identifier">mpfr_float_backend
</span></code>
506 to allow stack-based allocation.
508 <li class=
"listitem">
509 Added section on mixed precision arithmetic, and added support for operations
510 yielding a higher precision result than either of the arguments.
512 <li class=
"listitem">
513 Added overloads of integer-specific functions for built in integer types.
517 <a name=
"boost_multiprecision.map.hist.h14"></a>
518 <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
521 <div class=
"itemizedlist"><ul class=
"itemizedlist" style=
"list-style-type: disc; ">
522 <li class=
"listitem">
523 2011-
2012, John Maddock adds an expression template enabled front end
524 to Christopher's code, and adds support for other backends.
526 <li class=
"listitem">
527 2011, Christopher Kormanyos publishes the decimal floating-point code
528 under the Boost Software Licence. The code is published as:
<a href=
"http://doi.acm.org/10.1145/1916461.1916469" target=
"_top">"Algorithm
529 910: A Portable C++ Multiple-Precision System for Special-Function Calculations"</a>,
530 in ACM TOMS, {VOL
37, ISSUE
4, (February
2011)} (C) ACM,
2011.
532 <li class=
"listitem">
533 2002-
2011, Christopher Kormanyos develops the all C++ decimal arithmetic
538 <table xmlns:
rev=
"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width=
"100%"><tr>
539 <td align=
"left"></td>
540 <td align=
"right"><div class=
"copyright-footer">Copyright
© 2002-
2013 John Maddock and Christopher Kormanyos
<p>
541 Distributed under the Boost Software License, Version
1.0. (See accompanying
542 file LICENSE_1_0.txt or copy at
<a href=
"http://www.boost.org/LICENSE_1_0.txt" target=
"_top">http://www.boost.org/LICENSE_1_0.txt
</a>)
547 <div class=
"spirit-nav">
548 <a accesskey=
"p" href=
"../map.html"><img src=
"../../../../../../doc/src/images/prev.png" alt=
"Prev"></a><a accesskey=
"u" href=
"../map.html"><img src=
"../../../../../../doc/src/images/up.png" alt=
"Up"></a><a accesskey=
"h" href=
"../../index.html"><img src=
"../../../../../../doc/src/images/home.png" alt=
"Home"></a><a accesskey=
"n" href=
"todo.html"><img src=
"../../../../../../doc/src/images/next.png" alt=
"Next"></a>