Commit Graph

257 Commits

Author SHA1 Message Date
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
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
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
Marshall Clow
5621a90e45 Remove use of deprecated macros; use replacements 2015-09-10 15:43:35 -07: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
42c6ad2c8f Fix test failures for special functions. 2015-06-04 13:17:29 +01:00
jzmaddock
1e1f5455fc Split test up again - still too big! 2015-06-04 09:06:14 +01:00
jzmaddock
ea8586a9cf Fix signed exclusive-bitwise-or to handle carry correctly.
See https://svn.boost.org/trac/boost/ticket/11364.
2015-06-02 09:14:16 +01:00
jzmaddock
d5fd0312a4 Split some tests up. 2015-06-01 19:07:28 +01:00
jzmaddock
18023514cf Add missing test case. 2015-06-01 19:07:02 +01:00
jzmaddock
d711ce23df Fix mixed mode comparison operators.
See https://svn.boost.org/trac/boost/ticket/11328.
And added tests for mixed mode comparisons and other operators.
2015-06-01 18:11:11 +01:00
jzmaddock
7bf2e838cc Fix MSVC analyzer warnings. 2015-05-31 09:18:23 +01:00
jzmaddock
b7e1992b26 Fix right shifting of negative values in cpp_int.
To give the same values as 2's complement representations,
though not the same bit-pattern.
Updated tests.
Fixed assignment from float to not rely on shifting negative values.
2015-05-30 11:39:39 +01:00
jzmaddock
9262fa4884 Stop using run in configure rules:
It breaks testing for some strange reason.
2015-05-18 11:59:25 +01:00
jzmaddock
c36e15bd29 Fix self assignment bug in mpfr_float
Fixes: https://svn.boost.org/trac/boost/ticket/11193
2015-04-17 08:30:45 +01:00
jzmaddock
4f16c26457 Fix NaN comparisons.
Add tests to verify comparisons of NaN's are unordered.
Fix operators to check for unordered comparisons.
Fixes: https://svn.boost.org/trac/boost/ticket/11159
2015-04-03 09:35:58 +01:00
jzmaddock
f4a61d5f47 Add explicit conversion operators and tests to expression templates. 2015-03-12 17:55:13 +00:00
jzmaddock
0cfe21cf1c Fix some more noexcept failures, and tighten up the tests. 2015-02-10 16:51:36 +00:00
jzmaddock
6df6b1c441 Fix tests for case where double_limb_type = __int128. 2015-02-09 17:58:44 +00:00
jzmaddock
9927d49cb9 Many more fixes and tests for noexcept issues, see https://svn.boost.org/trac/boost/ticket/10990 2015-02-08 18:16:31 +00:00
jzmaddock
33630bc407 Clean up and enhance noexcept support, add tests to validate cpp_int and cpp_rational are performing as expected. See https://svn.boost.org/trac/boost/ticket/10990 2015-02-07 17:54:09 +00:00
jzmaddock
63f53c48f3 Merge branch 'develop' of https://github.com/boostorg/multiprecision into develop 2014-10-09 16:13:21 +01:00
jzmaddock
761c7c8c38 Fix some C++03 mode failures. 2014-10-09 16:12:56 +01:00