Commit Graph

403 Commits

Author SHA1 Message Date
jzmaddock
2f9faea67d Fix signed/unsigned comparison. 2015-06-03 18:51:14 +01:00
jzmaddock
7f0e3b78c3 Remove unneeded typedef. 2015-06-02 18:27:13 +01:00
jzmaddock
f681020a16 Add missing #include. 2015-06-02 18:25:32 +01:00
jzmaddock
e5b678a673 Fix issue with ambiguous conversions. 2015-06-02 18:07:11 +01:00
jzmaddock
175db1375f Fix typecast. 2015-06-02 13:41:44 +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
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
72c817e985 Remove all uses of std::abs.
Sadly it's still not implemented for all integer types on
some platforms, see: https://svn.boost.org/trac/boost/ticket/11311
Plus "unsigned_abs" does what we actually want in most cases - ie
does the right thing when the value is std::numeric_limits<T>::min()
without invoking undefined behavior.
2015-05-16 11:16:11 +01:00
jzmaddock
690a177099 Ooops, fix previous commit. 2015-04-25 11:33:41 +01:00
jzmaddock
2b88456016 Add workaround for GCC-5.1.0 numeric_limits.
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65883
2015-04-25 11:31:17 +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
2919a6375e Fix digits10 calculation so it gets it correct in the 113-bit precision case. 2015-04-07 18:46:23 +01:00
jzmaddock
b0133661eb Fix digit count for 128-bit quad-float types.
As per discussion here: http://www.exploringbinary.com/7-bits-are-not-enough-for-2-digit-accuracy/comment-page-1/#comment-9358
2015-04-07 17:57:57 +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
Marcel Raad
17f5ed45c2 Suppress MSVC warning
warning C4244: 'argument': conversion from 'int' to 'char', possible loss of data

This caused the Boost.Units regression tests to fail on MSVC because of warnings-as-errors.
2015-04-02 11:38:48 +02:00
jzmaddock
0de03d129d Replace long long with boost::long_long_type to avoid GCC warnings/errors in pedantic mode.
Fix missing return statements on new long long code.
2015-03-29 17:53:07 +01:00
jzmaddock
3719752df5 Fix conversions from long long to take long sized chunks.
Also fixed some bitmasks, and added feature-detection checks.
2015-03-29 11:34:20 +01:00
jzmaddock
ee3dbfbb77 Bring into line with update to Boost.Random. 2015-03-15 11:50:19 +00:00
jzmaddock
f4a61d5f47 Add explicit conversion operators and tests to expression templates. 2015-03-12 17:55:13 +00:00
jzmaddock
51a320e98a Fix for stream reading: handles more formats now, including things like CSV lists. 2015-03-11 19:25:14 +00:00
jzmaddock
19eb190929 Previous fix for Intel-15 breaks clang, fix. 2015-03-08 13:09:53 +00:00
jzmaddock
b9ac721e10 Workaround for MSVC that seems not to find the default_ops overload in some situations. 2015-03-06 18:56:13 +00:00
jzmaddock
10a68c89f7 Update to allow mixed number comparisons. 2015-03-03 19:06:04 +00:00
jzmaddock
10bc4eb774 Workaround for Solaris compiler. 2015-02-22 19:00:36 +00:00
jzmaddock
e175ed2bfe Cast std::string::size_type arguments to std::string functions so there can be no ambiguity in the calls, see https://svn.boost.org/trac/boost/ticket/11029 2015-02-22 17:58:34 +00:00
jzmaddock
f970a18141 Make frexp a non-expression template function so it functions even when the return value is ignored. Fixes issue: https://svn.boost.org/trac/boost/ticket/10993 2015-02-22 12:49:32 +00:00
jzmaddock
a70cad05fb Add workaround for Oracle type-conversion bug. 2015-02-21 19:09:54 +00:00
jzmaddock
3b35dd8e68 Fix for Intel constexpr issue. 2015-02-13 17:51:30 +00:00
jzmaddock
f066d288cd Partly back out previous patch - not all the workarounds were required after all. 2015-02-12 13:32:01 +00:00
jzmaddock
8a7fd7cf1a Fixes for Intel-15 compile failures. 2015-02-12 13:14:10 +00:00
jzmaddock
0cfe21cf1c Fix some more noexcept failures, and tighten up the tests. 2015-02-10 16:51:36 +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
ca1f469772 Assert preconditions that are broken in https://svn.boost.org/trac/boost/ticket/10924 2015-02-06 19:02:37 +00:00
jzmaddock
98ff84b860 Mark some more functions with conditional noexcept support, also simplified/removed some casts which weren't required. 2015-02-06 18:33:58 +00:00
jzmaddock
4340817fd8 If there are no long double functions be very careful where we set the limits as frexp/ldexp called with a value outside the range of a double will return +INF, which then causes cpp_dec_float to go into an infinite loop. Fixes Cygwin GCC issue. See https://svn.boost.org/trac/boost/ticket/10924 2015-02-06 18:32:31 +00:00
jzmaddock
184d9847b0 Fix cygwin build - don't use itrunc on platforms with no long double support. 2015-02-06 18:30:26 +00:00
jzmaddock
7e18be7902 Add missing out-of-line definitions. 2015-02-06 18:29:33 +00:00
jzmaddock
f57ecf8290 Fix type traits dispatching to work with pending new version. 2015-01-29 11:47:32 +00:00
Jürgen Hunold
37815e5dce adjust to move of gcd/lcm from math to integer library 2015-01-23 18:01:34 +01:00
jzmaddock
92748f6327 Add missing #include. 2015-01-19 18:34:00 +00:00
Jürgen Hunold
bc8ce20058 adjust to move of gcd/lcm from math to integer library 2015-01-19 11:06:18 +01:00
jzmaddock
55bbda0c31 Fix rare bug that breaks invariants in exp. 2014-10-09 16:41:21 +01: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
jzmaddock
f2522106f5 Fix case where intmax_t is smaller than long long, also apply gcc-4.6 workaround to Intel which has the same bug (all versions to 15.0). 2014-09-23 19:42:58 +01:00
jzmaddock
cd1e62a4b0 Fix for issue https://svn.boost.org/trac/boost/ticket/10405
Change code snippets in docs to be complete programs to avoid any confusion.
Fix failure caused by change to Boost.Random.
Regenerate docs.
2014-08-29 18:54:09 +01:00
jzmaddock
290c3da308 Fix typos. 2014-07-16 18:16:54 +01:00