Commit Graph

854 Commits

Author SHA1 Message Date
jzmaddock
cd2bbcba5b Fix bounded variable precision cpp_int's.
1) Removed some constexpr optimizations which were causing the code to fail to spot that truncation/overflow had occurred.
2) Change min/max code for numeric_limits to work for bounded variable precision types (this needs more work as the current code relies on being able to create a fixed-precision allocator-free type of equivalent width.
3) Add tests for bounded variable precision integers.
See: https://svn.boost.org/trac/boost/ticket/12798
2017-02-03 19:39:28 +00:00
jzmaddock
e108817e69 C99 tests: disable one more mpfr case fixed in recent releases. 2017-01-31 19:56:31 +00:00
jzmaddock
9341113864 C99 test: don't test buggy mpfr versions. 2017-01-31 19:54:49 +00:00
jzmaddock
7deabbe0d4 Previous commit was incomplete. 2017-01-31 19:46:26 +00:00
jzmaddock
c99bb4d418 Fix tests use of min/max types and correct type for the exponent of the number. 2017-01-31 19:41:35 +00:00
jzmaddock
6139de5732 Add MPFR version info to test. 2017-01-31 19:21:51 +00:00
jzmaddock
c81a5e410a Fix GCC-ubuntu failures induced by previous commits 2017-01-30 23:08:34 +00:00
jzmaddock
8179baf40f Fix cpp_int left shift in cases where there is bit-loss.
See https://svn.boost.org/trac/boost/ticket/12790.
Also add dedicated test case.
2017-01-29 19:20:29 +00:00
jzmaddock
4911125248 Allow conversion from __float128 to cpp_bin_float. 2017-01-23 19:40:42 +00:00
jzmaddock
c0df5b6747 Change ilogb to consistently return the minimum value of the exponent type
(which may be either narrower or wider than the int return type specified in C99).
Change transcendental code which uses ilogb for loop termination, to check for
a minimal value return to correctly handle the case that the value has gone to zero.
See https://svn.boost.org/trac/boost/ticket/12625
2016-12-03 08:50:38 +00:00
jzmaddock
fe3eac52bf Fix bit exporting of trivial cpp_ints.
Fixes: https://svn.boost.org/trac/boost/ticket/12627.
2016-12-02 17:57:35 +00:00
jzmaddock
26ceb6ef38 Get cpp_dec_float, float128, and mpfr passing the C99 annex F tests.
See https://svn.boost.org/trac/boost/ticket/12581.
2016-12-02 17:54:36 +00:00
jzmaddock
138a9055e2 Big commit to bring things into line with C99 Annex F.
See https://svn.boost.org/trac/boost/ticket/12581.
2016-11-30 19:00:55 +00:00
jzmaddock
ec018d5099 Increase testing for rounding when subtracting cpp_bin_float. 2016-11-18 10:56:58 +00:00
jzmaddock
a31d765629 Merge branch 'develop' of https://github.com/boostorg/multiprecision into develop 2016-11-17 19:02:30 +00:00
jzmaddock
618ef47611 Fix subtraction of small quantities in cpp_bin_float.
See: https://svn.boost.org/trac/boost/ticket/12580
2016-11-17 19:02:11 +00:00
jzmaddock
59bbbd026c Merge pull request #18 from zerotypos-found/patch-1
[inspection report] Remove tabs and protect std::min from macro expansion
2016-11-16 19:02:02 +00:00
jzmaddock
0919f25f6c Improve performance of 128-bit bit-scan operations. 2016-11-15 18:54:29 +00:00
jzmaddock
472d5afc2a Add convert_to performance test. 2016-11-15 12:10:19 +00:00
jzmaddock
0e2195fa78 Improve performance of convert_to<Float>.
See https://svn.boost.org/trac/boost/ticket/12527.
2016-11-15 12:06:19 +00:00
zerotypos-found
4ee2f1eead [inspection report] Remove tabs and protect std::min from macro expansion 2016-11-14 12:34:36 +09:00
jzmaddock
0230921010 Fix conversion of values to double that result in negative infinity.
See https://svn.boost.org/trac/boost/ticket/12527#comment:11.
2016-11-12 19:31:45 +00:00
jzmaddock
0006227416 Change cpp_bin_float rounding code to round in arbitrary location and modify convert-to-float to use it.
See https://svn.boost.org/trac/boost/ticket/12527.
2016-11-12 13:22:15 +00:00
jzmaddock
51686cae87 Fix sign when a conversion results in zero. 2016-11-06 13:12:44 +00:00
jzmaddock
4538e88a91 Fix integer sqrt for very small integers.
See https://svn.boost.org/trac/boost/ticket/12559.
2016-11-06 11:58:54 +00:00
jzmaddock
059cb63649 Prevent double rounding when converting to a denormalized float.
See https://svn.boost.org/trac/boost/ticket/12527.
2016-11-05 17:20:26 +00:00
jzmaddock
40c0bf8ad4 Update Boost version in docs. 2016-11-03 19:16:16 +00:00
jzmaddock
e3d125c8c7 Fixes for msvc-12.0 test failures. 2016-10-27 18:34:52 +01:00
jzmaddock
d65e4a2508 Update docs for most recent fixes. 2016-10-27 18:34:30 +01:00
jzmaddock
ed43204e92 Fix ceil cpp_bin_float to return signed zero when coming up from below.
Also fixes same issue in round/trunc.
See https://svn.boost.org/trac/boost/ticket/12525.
2016-10-26 18:48:53 +01:00
jzmaddock
5a5612c0a9 Fix sign of result when subtraction yields zero.
See https://svn.boost.org/trac/boost/ticket/12524.
2016-10-26 17:55:31 +01:00
jzmaddock
e5e1d9f445 Update revision history. 2016-10-24 18:51:26 +01:00
jzmaddock
ef0ef9b515 Fix conversion to floating point types when the exponent value would overflow an int.
See https://svn.boost.org/trac/boost/ticket/12512
2016-10-24 18:48:09 +01:00
jzmaddock
9182b849ec Merge branch 'convert' into develop 2016-10-24 18:47:13 +01:00
jzmaddock
6fa6a1b167 Update documentation to match latest changes. 2016-10-24 17:51:49 +01:00
jzmaddock
75dc2ebb33 Switch floating point types to be zero initialized when default constructed.
This is now consistent between types, and matches what explicitly initialized built in types do.
See https://svn.boost.org/trac/boost/ticket/12500.
2016-10-23 19:12:56 +01:00
jzmaddock
1c2ecb6f6e Fix iostream parsing error, see https://svn.boost.org/trac/boost/ticket/12488 2016-10-23 18:10:55 +01:00
jzmaddock
476c3e2156 Merge branch 'convert' into develop
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2016-10-20 18:18:14 +01:00
jzmaddock
ed6ce5d965 Update docs for new conversion code. 2016-10-20 18:14:51 +01:00
jzmaddock
cfeefc8330 Change calls to generic_interconvert to use ADL. 2016-10-17 18:40:43 +01:00
jzmaddock
4859528993 Fix mpfi conversions and tests. 2016-10-17 18:02:38 +01:00
jzmaddock
ea357ba6f6 Complete floating point conversion tests.
Allow float->int explicit conversions.
Remove float->int convert-fial tests.
Add enable_if restrictions on op= operators so explicit conversions don't inadvertently take place.
2016-10-12 19:52:28 +01:00
Rene Rivera
f91aaec4ed Add, and update, documentation build targets. 2016-10-07 23:07:35 -05:00
jzmaddock
fb9503920a Add more interconversion tests and fix resulting failures. 2016-10-03 18:01:16 +01:00
jzmaddock
ebfc08a07a Start adding interconversion test cases. 2016-09-28 19:56:39 +01:00
jzmaddock
94e3348f79 Add first comprehensive interconversion test case. 2016-09-28 19:39:44 +01:00
jzmaddock
956402a841 Add missing return statement. 2016-09-28 19:39:13 +01:00
jzmaddock
7fc5843361 All calls to explicit conversions where the target type is a "number" should use the same code as assignment to "number". 2016-09-28 19:38:47 +01:00
jzmaddock
5f3d2690fa Update history. 2016-09-26 19:02:58 +01:00
jzmaddock
cd20cf7db4 Merge branch 'develop' into c99
# Resolved Conflicts:
#	doc/html/boost_multiprecision/indexes/s01.html
#	doc/html/boost_multiprecision/indexes/s02.html
#	doc/html/boost_multiprecision/indexes/s03.html
#	doc/html/boost_multiprecision/indexes/s04.html
#	doc/html/index.html
#	include/boost/multiprecision/detail/default_ops.hpp
2016-09-23 09:01:56 +01:00