Commit Graph

291 Commits

Author SHA1 Message Date
John Maddock
8879d0cbc1 Fix deserialization when limb size is larger than that of the original archive.
[SVN r85220]
2013-08-06 08:30:33 +00:00
John Maddock
7aa0322d97 Fix gcc serialization code, and improve binary serialization.
[SVN r85214]
2013-08-05 15:03:07 +00:00
John Maddock
8d6ac4e631 Add missing serialization file
[SVN r85213]
2013-08-05 12:22:53 +00:00
John Maddock
904b93f22c Add tentative serialization support.
[SVN r85212]
2013-08-05 11:52:07 +00:00
John Maddock
86e42b0a19 Add missing parameter name.
[SVN r85205]
2013-08-04 08:19:13 +00:00
John Maddock
af494a898b Add support for integer square roots.
[SVN r85184]
2013-08-01 17:50:17 +00:00
John Maddock
d885506c9f Round mpfr floats towards zero when converting to an integer to match what built in floats do.
[SVN r85174]
2013-07-30 07:57:02 +00:00
John Maddock
fd86f0cda7 Fix type of std::string::find_first_not_of to suppress warnings.
[SVN r85135]
2013-07-23 17:07:27 +00:00
John Maddock
9b7bf3303e Fix mpfi pow function to correctly handle negative base with integer power.
Fixed error handling to not return numeric_limits<>::quiet_NaN if there is no NaN supported.
Fixed default pow implementation to handle integer args up to numeric_limits<uintmax_t>::max().
Fixed error handling in default pow implementation to return NaN for too large exponents (can't tell if they're integers or even or odd) and negative bases.
Fixed array subscript bug in cpp_dec_float.
Greatly increased pow testing.
Fixes #8809.

[SVN r85008]
2013-07-12 16:13:34 +00:00
John Maddock
0bca8d4794 Change return type to reference to passed argument.
[SVN r84998]
2013-07-10 16:08:57 +00:00
John Maddock
714b02ccfe Fix bug in eval_pow that causes 0^N to be none-zero.
Fixes #8798.

[SVN r84997]
2013-07-10 16:08:12 +00:00
John Maddock
8b4c3e0f38 enable intrinsics for more compilers
[SVN r84975]
2013-07-07 16:49:36 +00:00
John Maddock
87fb76c1be Reorganise bit scanning code.
Add tests for msb function.

[SVN r84972]
2013-07-07 15:29:01 +00:00
John Maddock
cbf8fd9cc9 Correct output of small-integer types.
Fixes #8745.

[SVN r84928]
2013-07-01 18:14:14 +00:00
John Maddock
f2821a0231 Fix left shift operator.
Fixes #8741.

[SVN r84925]
2013-07-01 17:06:12 +00:00
John Maddock
573f35f5a9 Change to use std::string::size_type rather than unsigned.
Fixes #8748.

[SVN r84922]
2013-07-01 15:47:11 +00:00
John Maddock
73210bb222 Apply remaining fixes from #8732.
Also adds msb (most significant bit) function to multiprecision.
Fixes #8732.

[SVN r84921]
2013-07-01 15:43:28 +00:00
John Maddock
3b8f3a84ba Remove some unused typedefs: fixes some gcc-4.8 warnings
[SVN r84904]
2013-06-25 17:48:04 +00:00
John Maddock
22b76da209 Add missing #include
[SVN r84898]
2013-06-24 12:08:20 +00:00
John Maddock
2a5a4b60f8 Add some typecasts to ensure conversion from negative values proceeds correctly.
Fix masking of values during construction so overflow wraps around in unchecked fixed precision integers.
Add tests for above changes.
Refs #8711.

[SVN r84897]
2013-06-24 10:36:01 +00:00
John Maddock
74d3d5d726 Fix MPFI constant initialization.
[SVN r84866]
2013-06-21 17:41:40 +00:00
John Maddock
e064bea8a9 Make unary + operator return by value - we can generate dangling references otherwise.
[SVN r84863]
2013-06-21 15:58:03 +00:00
John Maddock
5303c9556a Fix bug in shift operator that doesn't always normalise when we should.
[SVN r84795]
2013-06-15 16:11:37 +00:00
John Maddock
fb2460c5d2 Add some noexcept specs to gmp_int.
[SVN r84777]
2013-06-14 12:42:36 +00:00
John Maddock
46aad8e4c2 Apply patch from #8692.
Refs #8692.

[SVN r84763]
2013-06-13 16:21:59 +00:00
John Maddock
ad76df9f77 Change type of string index to std::string::difference_type.
[SVN r84729]
2013-06-10 15:32:34 +00:00
John Maddock
d073af87c5 Fix for 0 % N giving wrong answer in cpp_int.
Refs #8670.

[SVN r84716]
2013-06-09 16:18:38 +00:00
John Maddock
cdd63adfcd Fix assignment operations to be safe after a move.
Added test cases to catch bug case.
Refs #8667.

[SVN r84687]
2013-06-08 14:07:21 +00:00
John Maddock
eede16de82 Fix sizeof usage: fixes gcc-4.8.0 and clang failures.
[SVN r84220]
2013-05-10 12:20:22 +00:00
John Maddock
1ac5e234e0 Fix undefined behaviour.
[SVN r84107]
2013-05-02 11:50:46 +00:00
John Maddock
dd420d8d3b Add tentative support for user-defined-literals.
[SVN r84106]
2013-05-02 10:16:57 +00:00
John Maddock
a461ca170a Add lot's of enable_if's to integer only operators to restrict them to integer types (improves error messages).
Update test coverage Makesfile.
Update tests for full coverage.

[SVN r84051]
2013-04-26 08:17:12 +00:00
John Maddock
5126fa8e74 Fix float128 compile error.
Add constexpr support to float128.
Add float128 docs and rebuild HTML.

[SVN r84016]
2013-04-22 17:50:55 +00:00
John Maddock
fe005f030a Don't use C++11 only features of std::string.
[SVN r83900]
2013-04-14 15:53:05 +00:00
John Maddock
727b4c4643 Fixes to get the float128 tests passing with Intel C++ 13.0.
[SVN r83874]
2013-04-13 16:53:01 +00:00
John Maddock
74e46a3306 Initial Intel C++ _Quad support in float128.
[SVN r83856]
2013-04-12 09:01:20 +00:00
John Maddock
ba0232fb1e Fix float128 string formatting.
[SVN r83831]
2013-04-10 16:30:13 +00:00
John Maddock
04b1c9e9f0 Initial commit of 128-bit float wrapper
[SVN r83713]
2013-04-02 17:26:48 +00:00
John Maddock
ff1c93b043 Fix bug(s) that cause variable reuse in function calls to fail.
Add additional test cases.
Fixes #8326.

[SVN r83619]
2013-03-28 11:27:08 +00:00
John Maddock
b1a27b8c5c Fix valgrind errors
[SVN r83519]
2013-03-22 16:55:36 +00:00
Christopher Kormanyos
c221a74a3c Add unsigned priority mask and trivial cleanup.
[SVN r83479]
2013-03-17 19:13:24 +00:00
John Maddock
bc193d7add Fix GCC-4.6.x support which was broken in last commit. Refs #8292
[SVN r83459]
2013-03-16 12:00:01 +00:00
John Maddock
e5c96aada3 Add missing file, refs #8292
[SVN r83448]
2013-03-15 18:47:42 +00:00
John Maddock
6582c85fd8 Improve uBas integration to allow use of expression templates inside uBas templates.
Fixes #8292.

[SVN r83439]
2013-03-15 17:29:20 +00:00
Christopher Kormanyos
726b2ffc32 Proper copyright information + foundations for cpp_bin_float.
[SVN r83395]
2013-03-10 11:04:09 +00:00
John Maddock
90bebe9ab4 Include config.hpp
[SVN r83358]
2013-03-08 11:46:52 +00:00
Christopher Kormanyos
81d0ea8776 Preliminary preparations for cpp_bin_float. Moved the rebind and dynamic_array structures from cpp_dec_float.hpp to separate files in /detail.
[SVN r83335]
2013-03-06 21:26:01 +00:00
John Maddock
2a4255861e Fix operators that operate on unary-negated expressions.
Suppress some MSVC specific warnings.
Fix some bugs exposed by above changes and add new test cases.
Fixes #8176.

[SVN r83227]
2013-03-01 13:15:56 +00:00
Christopher Kormanyos
d590f8baca Remove an unreachable code block from pow2(). Add an optimization to eval_ldexp().
[SVN r83207]
2013-02-28 19:58:21 +00:00
John Maddock
bea6a2bdfc Change boolean context conversion operator so it's not convertible to void*.
Fixes #8177.

[SVN r83162]
2013-02-26 12:43:14 +00:00