-
Added support for Boost.Serialization.
-
Suppressed some GCC warnings. See 8872.
-
Fixed bug in pow for large integer arguments. See 8809.
-
Fixed bug in pow for calculation of 0N. See 8798.
-
Fixed bug in fixed precision cpp_int IO code that causes conversion to
string to fail when the bit count is very small (less than CHAR_BIT).
See 8745.
-
Fixed bug in cpp_int that causes left shift to fail when a fixed precision
type would overflow. See 8741.
-
Fixed some cosmetic warnings from cpp_int. See 8748.
-
Fixed calls to functions which are required to be macros in C99. See
8732.
-
Fixed bug that causes construction from INT_MIN, LONG_MIN etc to fail
in cpp_int. See 8711.
-
Breaking change renamed
rational_adapter
to rational_adaptor
.
-
Add support for MPFI.
-
Add logged_adaptor.
-
Add support for 128-bit floats via GCC's
float128
or Intel's _Quad
data
types.
-
Add support for user-defined literals in cpp_int, improve
constexpr
support.
-
Fixed bug in integer division of
cpp_int
that results in incorrect sign of cpp_int
when both arguments are small enough to fit in a double_limb_type
.
See 8126.
-
Fixed bug in subtraction of a single limb in
cpp_int
that results in incorrect value when the result should have a 0 in the
last limb: 8133.
-
Fixed bug in
cpp_int
where division of 0 by something doesn't get zero in the result: 8160.
-
Fixed bug in some transcendental functions that caused incorrect return
values when variables are reused, for example with
a
= pow(a, b)
. See 8326.
-
Fixed some assignment operations in the mpfr and gmp backends to be safe
if the target has been moved from: 8667.
-
Fixed bug in
cpp_int
that gives incorrect answer for 0%N for large N: 8670.
-
Fixed set_precision in mpfr backend so it doesn't trample over an existing
value: 8692.
-
Non-expression template operators further optimised with rvalue reference
support.
-
Many functions made
constexp
.
-
Differentiate between explicit and implicit conversions in the number
constructor.
-
Removed "mp_" prefix from types.
-
Allowed mixed precision arithmetic.
-
Changed ExpressionTemplates parameter to class
number
to use enumerated values rather than true/false.
-
Changed ExpressionTemplate parameter default value to use a traits class
so that the default value depends on the backend used.
-
Added support for fused-multiply-add/subtract with GMP support.
-
Tweaked expression template unpacking to use fewer temporaries when the
LHS also appears in the RHS.
-
Refactored
cpp_int_backend
based on review comments with new template parameter structure.
-
Added additional template parameter to
mpfr_float_backend
to allow stack-based allocation.
-
Added section on mixed precision arithmetic, and added support for operations
yielding a higher precision result than either of the arguments.
-
Added overloads of integer-specific functions for built in integer types.
-
2011-2012, John Maddock adds an expression template enabled front end
to Christopher's code, and adds support for other backends.
-
2011, Christopher Kormanyos publishes the decimal floating point code
under the Boost Software Licence. The code is published as: "Algorithm
910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011.
-
2002-2011, Christopher Kormanyos develops the all C++ decimal arithmetic
floating point code.