Commit Graph

458 Commits

Author SHA1 Message Date
jzmaddock
4b65082f88 Begin adding and testing sign manipulation functions. 2016-05-12 12:49:53 +01:00
jzmaddock
ad245b44ff Fix division over/underflow in cpp_bin_float.
See https://svn.boost.org/trac/boost/ticket/12167
2016-05-11 19:34:13 +01:00
jzmaddock
351793f93f Prevent mpfr_float compiling when there variable digits and allocation is allocate_stack. 2016-05-10 18:06:15 +01:00
jzmaddock
d619a8e3db Fix arithmetic operations that should result in a NaN.
See https://svn.boost.org/trac/boost/ticket/12157.
2016-05-02 18:53:41 +01:00
jzmaddock
728b26e075 Document hash function support and add an example. 2016-05-01 18:58:19 +01:00
jzmaddock
a0bb538a2a Add hashing support to the remaining backends, plus tests etc. 2016-04-30 04:29:07 +01:00
jzmaddock
efbb9e272d Begin adding support for boost::hash.
Fix cpp_int import/export of negative numbers.
2016-04-29 18:52:57 +01:00
jzmaddock
aeab24b4fb Fix various conversions from infinities and NaN's.
See: https://svn.boost.org/trac/boost/ticket/12112
2016-04-05 19:32:56 +01:00
jzmaddock
05271ba3be Fix PP-logic for clang/win and Intel/Win.
See https://gist.github.com/dodheim/918e9dc480fe39e590c3af2ceb706e1b.
2016-04-03 18:49:59 +01:00
jzmaddock
c4e847b9fd Fix handling of NaN's and Infinities in basic arithmetic.
Added more test cases to catch bugs.
See issue: https://svn.boost.org/trac/boost/ticket/12090.
2016-03-24 10:13:01 +00:00
jzmaddock
bd42232898 Add extra conversion function to mpfr_float_backend to prevent double-rounding in some corner cases. 2016-03-22 08:15:19 +00:00
jzmaddock
5f49ffc2d7 Fix fencepost-error in subtraction code found while testing rounding. 2016-03-22 08:14:29 +00:00
jzmaddock
eec1c310d5 Add support for denormals to float128.
Fixes https://svn.boost.org/trac/boost/ticket/12075
2016-03-20 09:28:51 +00:00
jzmaddock
57333128e8 Allow code and tests to compile without exceptions.
See https://svn.boost.org/trac/boost/ticket/12070.
2016-03-17 11:50:06 +00:00
jzmaddock
a96bea66e1 Change cpp_bin_float::convert_to to round correctly to float.
Also add another test case from https://svn.boost.org/trac/boost/ticket/12039,
plus test case to check rounding of ties.
2016-03-15 18:24:04 +00:00
jzmaddock
8a8b2211d4 Change cpp_bin_float.convert_to<>() conversion routine to avoid double-rounding.
See https://svn.boost.org/trac/boost/ticket/12039.
2016-03-15 08:15:35 +00:00
jzmaddock
d9bd529f71 Fix boost::rational comparison operators.
Add more tests for the above.
2016-03-12 08:54:59 +00:00
jzmaddock
df07c990af Change declaration order to keep Oracle C++ happy. 2016-03-11 18:30:36 +00:00
jzmaddock
6a15426f2b Basic fix for Oracle C++ in C++11 mode. 2016-03-11 12:21:52 +00:00
John Maddock
a55e2c15a1 Misc minor workarounds for Oracle C++ 2016-03-08 18:00:12 +00:00
jzmaddock
57d36d1396 Merge branch 'develop' of https://github.com/boostorg/multiprecision into develop 2016-03-03 17:59:01 +00:00
jzmaddock
ecc885bf96 Disable constexpr in one case for gcc-4.6 and earlier 2016-03-03 17:58:16 +00:00
jzmaddock
f9c8f9ec09 Add some needed casts for cases where limb_type is wider than unsigned int. 2016-03-03 10:52:03 +00:00
jzmaddock
53515e9a96 Add memcpy optimized import of binary data for cpp_int.
Fixes: https://svn.boost.org/trac/boost/ticket/9235.
2016-02-25 19:01:11 +00:00
jzmaddock
cb1a41835f Use memmove for bitshifts when machine is little endian.
See https://svn.boost.org/trac/boost/ticket/9233.
2016-02-24 12:06:05 +00:00
jzmaddock
2f635b45ff Fix right shifting of negative integers.
See https://svn.boost.org/trac/boost/ticket/11999.
2016-02-19 19:29:40 +00:00
jzmaddock
f57bd6b31a Add expression template enabled min/max overloads. 2016-02-18 18:37:18 +00:00
jzmaddock
df773c7ab2 Disable explicit conversions on expression templates when the target type is implicitly constructible from the number type.
See https://svn.boost.org/trac/boost/ticket/11922
2016-01-20 12:52:20 +00:00
jzmaddock
59395e2754 Fix integer stream input so it doesn't skip characters.
See https://svn.boost.org/trac/boost/ticket/11857
Update tests to match.
2015-12-22 18:28:23 +00:00
jzmaddock
5af4564698 Restrict noexcept on converting constructors.
See https://svn.boost.org/trac/boost/ticket/11826.
2015-12-01 15:58:26 +00:00
jzmaddock
360fcc9306 Add missing return statement.
See https://svn.boost.org/trac/boost/ticket/11762
2015-10-29 12:39:53 +00:00
jzmaddock
1261cc6b8a Don't use long double asin if it's not available. 2015-10-29 11:29:26 +00:00
jzmaddock
7dfea115f8 Fix cpp_bin_float conversions,
fix inverse trig logic to get as many digits as possible from std::asin.
Add test case.
Fixes: https://svn.boost.org/trac/boost/ticket/11764
2015-10-29 09:58:28 +00:00
jzmaddock
e28b1be017 Fix order-of-evalution bug in bitmask code.
Allow mpfr_float to be used with Boost.Math by adding needed specializations.
2015-10-22 10:11:16 +01:00
jzmaddock
3d454688f1 Fix for cpp_int_backend sometimes having a private ::value_type due to inheritance. 2015-10-15 11:35:22 +01:00
jzmaddock
dcd0ca9811 Fix copyright declaration. 2015-10-06 18:55:01 +01:00
jzmaddock
a1eafc4228 Fix division bug discovered by https://svn.boost.org/trac/boost/ticket/11648 2015-09-22 13:39:26 +01:00
jzmaddock
a752269c1f Fix arithmetic failure when a string has no digits. 2015-09-20 13:12:04 +01:00
jzmaddock
100afbcce8 Suppress some msvc warnings. 2015-09-20 12:00:09 +01:00
jzmaddock
d78767ef95 Add cpp_int import/export code.
See: https://svn.boost.org/trac/boost/ticket/11590.
2015-09-20 08:45:03 +01:00
jzmaddock
e0f74704a0 Improve string assign to cpp_int:
* Make exception safe (strong guarantee).
* Improve performance for hexadecimal and octal assignment.
See: https://svn.boost.org/trac/boost/ticket/11590
2015-09-15 18:16:20 +01:00
jzmaddock
fdbeedc609 Fix behaviour of fmod for negative divisor.
And add more tests, see https://svn.boost.org/trac/boost/ticket/11641.
2015-09-11 17:13:34 +01:00
jzmaddock
8ba486eb3a Make math::tools::digits noexcept when math version is. 2015-08-23 17:49:30 +01:00
jzmaddock
92a56b5dec Add __float128 support to bits_of, correct mpl iterator dereferencing. 2015-08-23 17:48:51 +01:00
jzmaddock
ea7d247018 Qualify call to is_floating_point. 2015-08-23 17:47:28 +01:00
jzmaddock
9e3115f376 Add special case for n == 2. 2015-08-10 12:49:43 +01:00
jzmaddock
7e457161e6 Fix digits10 to use +3 not +2 which doesn't always add enough. 2015-07-19 17:47:38 +01:00
jzmaddock
9abf33884b Don't use conditional noexcept with gcc-4.6.x as it causes issues.
See https://svn.boost.org/trac/boost/ticket/11402
2015-06-18 09:08:52 +01:00
jzmaddock
a04bfdb654 Fix definitions of numeric_limits out-of-line members. 2015-06-16 18:40:59 +01:00
jzmaddock
a955881d30 Merge branch 'master' of https://github.com/ahamez/multiprecision into develop 2015-06-09 19:13:23 +01:00