Commit Graph

171 Commits

Author SHA1 Message Date
jzmaddock
a252b56c9c Update Jamfile for msvc-14.2 builds. 2019-10-29 19:00:52 +00:00
John Maddock
04df97dec5 Merge branch 'develop' of https://github.com/boostorg/multiprecision into develop 2019-09-22 17:58:59 +01:00
John Maddock
2dda946093 constexpr: Fix up some constexpr misconceptions, and hook up clang-9 support. 2019-09-22 17:58:21 +01:00
pabristow
5b7efd1df8 Merge conflicts resolved to add many editoral changes and new notes on constexpr. 2019-09-19 12:30:47 +01:00
pabristow
3da6ed2574 More comment in jamfiles about using big-obj if assembler file is too big. 2019-09-19 12:09:46 +01:00
John Maddock
0706f54bc6 Fix most, but not yet all the gcc-9 failures. 2019-09-07 19:55:47 +01:00
jzmaddock
1a3e4e2d38 constexpr-cpp_int: add docs.
[CI SKIP]
2019-09-06 18:38:38 +01:00
jzmaddock
3b7a901461 constexpr-cpp_int: Fix up some more functions, add tests. 2019-09-03 19:56:28 +01:00
jzmaddock
f024f1b8fe constexpr-cpp_int: address more bugs and enable more functions for constexpr use. 2019-09-02 12:44:23 +01:00
jzmaddock
be96d2282c First cut at making cpp_int constexpr. 2019-08-29 20:09:04 +01:00
John Maddock
6972343fca Merge branch 'develop' into constexpr2 2019-08-26 12:53:53 +01:00
jzmaddock
0c2b16b31b constexpr: Add float128 constexpr support and tests. 2019-08-19 19:22:34 +01:00
jzmaddock
1488d12131 constexpr: begin testing C++14 constexpr support. 2019-08-18 15:16:27 +01:00
pabristow
97d5ff01e7 [CI SKIP] Change to revert to default filesystem::root; and instead use a change to the jamfile for location of the serials txt files. All tests and examples pass, doc rebuilt, inspect all OK. 2019-08-16 09:44:56 +01: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
Andrey Semashev
19831edbd1 Added a test for compatibility of Boost.Multiprecision and Boost.Optional. 2018-11-04 15:41:54 +03:00
Nick Thompson
30bc41706d Fix unescaped character in Jamfile.v2 2018-10-27 10:36:47 -06:00
jzmaddock
6f2823f183 Fix up and test mpc conversions.
See https://github.com/boostorg/multiprecision/issues/78.
2018-09-27 19:37:07 +01:00
jzmaddock
92e4f6c0e4 APPoS: Fix up mpfi and mpf support, update tests.
See https://github.com/boostorg/multiprecision/issues/87.
2018-09-25 09:55:11 +01:00
jzmaddock
8d281cc47f Apply "Assignment Preserves Precision of Source".
APPoS for short, throughout the library including in mixed precision arithmetic which should now always promote to the highest precision of any of the arguments.
2018-09-06 20:37:56 +01:00
jzmaddock
4df64fc7f1 Fix test failures from previous commit and extend CI coverage to MPC and MPFI backends.
See https://github.com/boostorg/multiprecision/issues/60.
2018-08-09 09:09:08 +01:00
jzmaddock
2de27f70e0 MPC/MPFR: Fix up handling of precisions when copying values.
See: https://github.com/boostorg/multiprecision/issues/60.
2018-08-08 20:02:48 +01:00
jzmaddock
61f4fd8778 rational_adaptor: Fix some conceptual failures and add another test case. 2018-05-29 18:23:07 +01:00
jzmaddock
c1308b5cf1 Complex: Lot's of small updates to complete complex_adaptor and tests. 2018-04-17 18:49:09 +01:00
jzmaddock
7eee55776e complex: add complex_adaptor plus first tests. 2018-04-13 19:25:15 +01:00
jzmaddock
8020ae0533 complex/mpc: reorganise build and test structure. 2018-04-01 19:20:36 +01:00
jzmaddock
e85952b4e8 complex/mpc: Add tests for Eigen compatibility. 2018-03-28 19:41:19 +01:00
jzmaddock
2b18cecfff Complex/mpc: Fix up Jamfile. 2018-03-12 18:11:27 +00:00
jzmaddock
580905c528 Complex: Get arithmetic tests passing. 2018-03-04 18:31:17 +00:00
jzmaddock
68ea8d6a40 Multiprecision: split up test_sf_import_c99.cpp some more to avoid over-large object files. 2017-12-30 18:11:31 +00:00
jzmaddock
1d19b31132 Multiprecision: begin to fix VC12 failures from last series of commits.... still one to go. 2017-12-27 19:38:08 +00:00
jzmaddock
a4b198e1b7 Multiprecision.cpp_bin_float: Fix errors in exponent usage when exponent type is a long long.
See https://svn.boost.org/trac10/ticket/13264.
Fix previously unsupported situation: conversion of narrow cpp_bin_float to wider integer type.
See https://svn.boost.org/trac10/ticket/13301.
Improve test coverage for cpp_bin_floats with large exponent types, and/or dynamic allocators.
Fix issue in numeric_limits::max() that caused a complement of a signed integer number to be taken when the allocator is dynamic.
Fix heuristic in exp() function that caused a crazy number of iterations to be taken when the exponent was very large.
2017-12-26 17:54:41 +00:00
jzmaddock
4daa1baf6d Multiprecision: disable explicit conversion operator if the target type is already constructible from *this.
Prevents ambiguity between the target types constructor and the conversion operator.
See https://github.com/boostorg/multiprecision/issues/30.
2017-12-25 18:07:48 +00:00
jzmaddock
e08fb96dce CI: Make serialization tests link-static on mingw.
Serialization lib is too often broken on that platform.
2017-06-05 13:13:15 +01:00
jzmaddock
4c36616841 CI: Fix some remaining issues:
* Build with --hash as otherwise command line gets too long on Windows machines.
* Disable tests that generate object files too large for gcc on windows.
* Split cpp_dec_float tests up a bit to reduce object file size.
* Use boost::int46_t not ::int64_t in test case.
* Disable test_arithmetic_backend_concept.cpp with original mingw32 which has issues fixed in mingw64.
2017-06-04 19:36:59 +01:00
jzmaddock
6a1ab1bc34 CI: Fix paths in appveryor.yml.
Add missing import to Jamfile.
Disable test_cpp_int_lit for older msvc when under CI testing (known failure).
2017-06-01 08:59:28 +01:00
jzmaddock
841e1d71bb travis: move some test targets around trying to balance the load better.
Define CI_SUPPRESS_KNOWN_ISSUES when building and reduce the testing load when it's set.
2017-05-25 13:33:58 +01:00
jzmaddock
152ef49491 travis: still getting XCode timeouts, so split tests into smaller groups again. 2017-05-24 18:57:29 +01:00
jzmaddock
dd402577cc Travis: enable more tests,
move some tests between aliases as some OSX tests still time out.
2017-05-23 18:08:26 +01:00
jzmaddock
66f19e829e Fix warnings in sincos.ipp and test_round.cpp.
Move some targets out of the "conversions" alias to try to fix travis timeouts.
2017-05-23 13:38:06 +01:00
jzmaddock
2061889b77 Correct __float128 precision in cpp_bin_float.hpp
Enable some more travis tests.
2017-05-22 19:47:27 +01:00
jzmaddock
dbdda6aabc Update float128 support test to check Boost.Config.
Enable more tests for travis.
2017-05-22 19:00:24 +01:00
jzmaddock
63151ee01c Greatly simplify travis tests in the hopes they won't time out now... 2017-05-21 19:22:41 +01:00
jzmaddock
2876565d86 Add new test to Jamfile. 2017-03-05 17:04:29 +00:00
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
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
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
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
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