Commit Graph

1243 Commits

Author SHA1 Message Date
jzmaddock
154e623229 Add tests from Ethereum project referenced here: https://github.com/boostorg/multiprecision/issues/123 2019-03-09 09:50:23 +00:00
Nick Thompson
32628fbbd0 Do not use initializer list constructor so it works in C++98 mode. 2019-03-05 11:08:46 -07:00
Nick Thompson
e75f4956f9 Fix printing bug where only one of scientific or fixed allowed printing in hexadecimal. 2019-03-04 12:19:16 -07:00
John Maddock
a0f7632d03 Merge branch 'develop' 2019-03-04 18:52:35 +00:00
jzmaddock
75c758d109 Update history, fix a couple of doc issues and regenerate.
[CI SKIP]
2019-03-04 18:52:05 +00:00
Nick Thompson
301c864c43 Test hexadecimal strings based on format flags, test a round trip. 2019-03-03 10:32:48 -07:00
jzmaddock
051bfe4d68 Fix tgamma overload issue in mpfr.hpp 2019-03-03 09:57:51 +00:00
Nick Thompson
899b563985 Print float128 as hexadecimal floating point literals if the ios_base flag floatfield is set [CI SKIP] 2019-03-02 15:07:43 -07:00
jzmaddock
a3ab28245e Add fix and tests for exp bug in: https://github.com/boostorg/multiprecision/issues/120 2019-03-02 13:23:36 +00:00
jzmaddock
35f8e9e8c9 Add tests for https://github.com/boostorg/multiprecision/pull/118
Also add the same fix for mpfr_float.
2019-03-02 13:22:53 +00:00
John Maddock
73584e8e39 Merge branch 'gmp_float_formatting_too_many_digits' of https://github.com/emfrias/multiprecision into develop 2019-03-01 18:22:11 +00:00
jzmaddock
96f2578786 Add missing overloads for Boost.Math functions for mpfr. 2019-03-01 18:21:48 +00:00
John Maddock
d51eb3308b Merge branch 'develop' 2019-02-24 09:15:53 +00:00
Eric Frias
fbd9a938a7 Fix bug in gmp float -> fixed point string formatting 2019-02-22 11:12:39 -05:00
jzmaddock
0636e489d5 Merge branch 'xml-archive' into develop 2019-02-18 20:45:43 +00:00
jzmaddock
24dfad1995 Merge branch 'issue110' into develop 2019-02-17 10:07:52 +00:00
jzmaddock
62c4103517 Merge branch 'xml-archive' into develop
Resolved Conflicts:
	include/boost/multiprecision/detail/precision.hpp
2019-02-17 10:07:02 +00:00
jzmaddock
2608dd4ed2 msvc warning suppression. 2019-02-17 10:03:21 +00:00
jzmaddock
02299b6c3f Merge branch 'develop' into xml-archive 2019-02-14 13:21:33 +00:00
jzmaddock
690ad13c3c Find make_nvp via using declaration so we don't instantiate it too early and cause an error 2019-02-14 13:21:02 +00:00
jzmaddock
2b618f9446 Correct precision detection of variable precision integers so we don't call msb/lsb on negative values.
[CI SKIP]
2019-02-14 13:18:01 +00:00
jzmaddock
3c625b6af2 Fix gcc warning, fixes https://github.com/boostorg/multiprecision/issues/116.
[CI SKIP]
2019-02-14 11:55:42 +00:00
jzmaddock
11d2a501a4 Fix for generic conversion from float to int that doesn't invoke undefined behaviour in the integer type. 2019-02-13 19:21:47 +00:00
jzmaddock
0e638a316b Add support for xml serialization archives.
See https://github.com/boostorg/multiprecision/issues/111.
2019-02-13 13:37:29 +00:00
jzmaddock
e05c87d6df cpp_bin_float: fix for class types that should not be convertible to this. 2019-01-30 21:28:04 +00:00
jzmaddock
f3e4cee0cc Correct constexpr function for C++11 compilers. 2019-01-25 12:00:20 +00:00
jzmaddock
15df0b04f2 Update precision detection to account for infinite-precision-integers.
Optimize precision comparison code to call the precision functions less often.
See: https://github.com/boostorg/multiprecision/issues/103
2019-01-24 18:45:11 +00:00
John Maddock
0bca71fa2b Merge branch 'develop' of https://github.com/HDembinski/multiprecision into develop 2019-01-24 11:35:56 +00:00
jzmaddock
d4a88833ee Doc: reinsert whitespace after PR merge.
[CI SKIP]
2019-01-24 11:34:25 +00:00
John Maddock
e826b2720e Merge branch 'NAThompson-patch-1' into develop 2019-01-24 11:32:37 +00:00
John Maddock
8fe7f6f8ff Merge branch 'develop' into NAThompson-patch-1 2019-01-24 11:32:17 +00:00
pabristow
136f718935 Add more details about floating-point decimal-binary conversion algorithms 2019-01-22 13:11:10 +00:00
Paul A. Bristow
1b9f9fd98d
Merge pull request #107 from acc987/develop
Reworded max_digits10 documentation, closes #104
2019-01-22 09:30:43 +00:00
acc987
568d7315c0
Avoid perceived ambiguity in max_digits10 documentation. 2019-01-21 21:07:21 +01:00
jzmaddock
04889b8aee Update CI scripts to handle new module layout. 2018-12-20 09:02:29 +00:00
Hans Dembinski
7b0ae2d2d6 fix warning about unused variable, closes #92 2018-12-17 15:10:03 +01:00
jzmaddock
68671aa03e Add missing file. 2018-12-11 08:37:24 +00:00
jzmaddock
f5d5701423 Don't instantiate numeric_limits on any old type:
Unless the type is a valid object we can't instantiate numeric_limits even to check is_specialized, in particular applies to abstract class types which implement the arithmetic operators as the multiprecision operators may get checked as well, which in tern tries to instantiate the number<> converting constructor which then checks numeric_limits.  See https://github.com/boostorg/multiprecision/issues/98.
2018-12-10 19:24:38 +00:00
jzmaddock
711d479f22 CI: correct appveyor.yml. 2018-11-15 08:42:28 +00:00
jzmaddock
cf52576774 CI: correct appveyor.yml. 2018-11-11 18:13:23 +00:00
jzmaddock
e60631e6a4 CI: split appveyor tests up to avoid timeouts. 2018-11-11 18:11:00 +00:00
Nick
96162e67ff
Update multiprecision.qbk 2018-11-08 10:25:55 -07:00
John Maddock
e48a406ba9 Merge branch 'master' of https://github.com/boostorg/multiprecision 2018-11-05 18:20:08 +00:00
Andrey Semashev
19831edbd1 Added a test for compatibility of Boost.Multiprecision and Boost.Optional. 2018-11-04 15:41:54 +03:00
Andrey Semashev
671bffd7c8 Silence gcc warnings about implicit fallthrough in switch/case. 2018-11-04 15:27:23 +03:00
Andrey Semashev
a06e85aa77 Use const_iterator to obtain container value_type in is_byte_container.
The value_type typedef is quite widespread, even in types that are not ranges.
For example, Boost.Optional uses this typedef internally as a protected typedef,
which fails the compilation of is_byte_container.

We fix this by testing for the const_iterator typedef first. Then we obtain
the value type from the iterator instead of the container because we will be
using iterators to access the container elements anyway.
2018-11-04 15:12:05 +03:00
Andrey Semashev
43e414d60b Fix detection of constructibility from types with protected dtor in C++03.
The declval function returns T by value in C++03, which requires the type
to have a public destructor in the context of is_explicitly_convertible_imp.
If this is not true the compilation hard-fails on some compilers (e.g. all
clang versions up to 7.0). The problem appears, for instance, when
boost::multiprecision::number is wrapped in boost::optional, the latter
derives from optional_base, which has a protected destructor. boost::optional
copy constructor needs to pass a reference to optional_base to optional_base
constructor, which at overload resolution tests multiprecision::number
conversion constructor and fails.

We fix the problem by generating a const reference by declval in C++03,
so the destructor is never tested.

Also, added missing includes and consistently use Boost.TypeTraits instead
of Boost.MPL througout the file.
2018-11-04 15:01:44 +03:00
Nick Thompson
30bc41706d Fix unescaped character in Jamfile.v2 2018-10-27 10:36:47 -06:00
jzmaddock
3edbab951e Merge branch 'develop' 2018-10-22 19:15:39 +01:00
jzmaddock
59a9bc4de8 Add readme.
[CI SKIP]
2018-10-14 18:51:16 +01:00