Commit Graph

423 Commits

Author SHA1 Message Date
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
Alexandre Hamez
188f0a7abb Fix exception message 2015-06-09 13:54:59 +02:00
jzmaddock
3d6d5d943a Simplify code so msvc-12 can cope.
Errors only show up in certain complex cases, most notably in Boost.Random's test suite.
2015-06-03 18:52:33 +01:00
jzmaddock
4ed6c3e44b Remove unused typedef. 2015-06-03 18:51:41 +01:00
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
913b336ead Previous fix for Intel-15 breaks clang, fix. 2015-03-19 13:32:48 +00:00
jzmaddock
4f6efdb36a Workaround for MSVC that seems not to find the default_ops overload in some situations. 2015-03-19 13:32:47 +00: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