Commit Graph

280 Commits

Author SHA1 Message Date
jzmaddock
10e2be2c1e Fix expected error rates for mpf_float variable-precision, also squash one warning 2016-06-03 15:10:12 +01:00
jzmaddock
e6715486a1 Merge branch 'develop' of https://github.com/boostorg/multiprecision into develop 2016-06-02 11:46:08 +01:00
jzmaddock
6e7b08a77e Update to allow mpf_float to be used with Boost.Math at variable precision. 2016-06-02 18:48:46 +01:00
jzmaddock
246172b58c Fix mpfr error rate 2016-06-02 11:45:33 +01:00
jzmaddock
2991b3ac31 Fix mpfr test failures in Math lib tests 2016-06-01 00:08:08 +01:00
jzmaddock
816edd2ed6 Update tests for variable precision math. 2016-05-31 10:05:34 +01:00
jzmaddock
02d71e6757 Fix fencepost error in cpp_bin_float rounding.
Add tests to verify.
2016-05-31 09:52:57 +01:00
jzmaddock
0397d8bcd8 Test rounding code better in cpp_bin_float.
See: https://svn.boost.org/trac/boost/ticket/12199.
2016-05-16 12:43:03 +01:00
jzmaddock
6a16ac95c5 Fix add and subtract of cpp_bin_float when the exponents would overflow.
Fixes: https://svn.boost.org/trac/boost/ticket/12198.
2016-05-15 19:01:50 +01:00
jzmaddock
c2499c2d16 Fix buggy add and subtract of signed zeros in cpp_bin_float. 2016-05-14 20:11:20 +01:00
jzmaddock
6e7e2e8010 Fix cpp_bin_float conversions of infinities and NaN's.
Fixes: https://svn.boost.org/trac/boost/ticket/12196.
2016-05-14 19:15:14 +01:00
jzmaddock
0245c0b286 Add signed zero support to cpp_bin_float. 2016-05-13 19:20:34 +01:00
jzmaddock
a61976e878 Merge branch 'sign_functions' of https://github.com/boostorg/multiprecision into sign_functions 2016-05-13 13:46:30 +01:00
jzmaddock
6d54dd6a6b Fix sign of infinite results.
See https://svn.boost.org/trac/boost/ticket/12195.
2016-05-13 13:45:47 +01:00
jzmaddock
ee22746f56 Add signed zero support to mpfr and float128 2016-05-13 10:48:30 +01:00
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
2745328444 Add missing #include. 2016-05-10 18:57:02 +01:00
jzmaddock
8684c4fbcb Fix interval tests for 0 * INF. 2016-05-03 12:31:23 +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
a0bb538a2a Add hashing support to the remaining backends, plus tests etc. 2016-04-30 04:29:07 +01:00
jzmaddock
12cbf96025 Add missing file test_hash.cpp 2016-04-29 18:59:15 +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
9458f69fa9 Add exhaustive rounding test program for cpp_bin_float.
Note not run by default as it takes half a day to run.
See: https://svn.boost.org/trac/boost/ticket/12039.
2016-04-12 19:07:49 +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
f6ae652756 Change obj to lib rule. 2016-04-04 13:05:13 +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
d3c6beb721 Add exhaustive rounding test program for cpp_bin_float.
Note not run by default as it takes half a day to run.
See: https://svn.boost.org/trac/boost/ticket/12039.
2016-03-22 08:16:30 +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
63c1e26c97 Another no-eh fix. 2016-03-17 13:29:13 +00:00
jzmaddock
0baca0eb80 Another exception handling fix. 2016-03-17 13:26:39 +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
jzmaddock
0778773691 Merge branch 'develop' of https://github.com/boostorg/multiprecision into develop 2016-03-08 18:33:31 +00:00
John Maddock
a55e2c15a1 Misc minor workarounds for Oracle C++ 2016-03-08 18:00:12 +00:00
jzmaddock
25cb064a14 Add some brackets around static assertion macros. 2016-03-05 17:59:55 +00:00
jzmaddock
f37a1b4e3d Remove peek() before archive construction...
It fails with vc12 and earlier.
2016-03-05 17:59:29 +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
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
a1eafc4228 Fix division bug discovered by https://svn.boost.org/trac/boost/ticket/11648 2015-09-22 13:39:26 +01:00