505 Commits

Author SHA1 Message Date
jzmaddock 04b1191732 complex/mpc: add support for interconversions to and from std::complex. 2018-03-18 17:33:28 +00:00
Nick Thompson 458e2b90da [CI SKIP] One more failing test. 2018-03-18 20:44:38 +08:00
Nick Thompson 67505092d0 [CI SKIP] Test that the mixed arithmetic works. Add polar to the overload test. 2018-03-18 09:34:20 +08:00
jzmaddock d0fc50fc4b Merge branch 'complex' of https://github.com/boostorg/multiprecision into complex 2018-03-17 19:50:10 +00:00
jzmaddock 4196c6ae62 Complex: Add support for single argument polar().
Update unary functions to handle case where we're creating a result type which is not the same as the function result type - for example when dealing with mixed scalar and complex arithmetic.
2018-03-17 19:08:36 +00:00
Nick Thompson af73fe3672 Second failing overload. 2018-03-17 23:18:35 +08:00
Nick Thompson 4bcc02286f [ci skip] Add failing unit test for MPC overloads. 2018-03-17 23:02:11 +08:00
Nick Thompson 2144154954 Use literal ints rather than shifted negative values. 2018-03-17 15:23:34 +08:00
jzmaddock 8d2bd0a1d3 complex/mpc: Add value_type to class number, and overloads for polar function.
Split up one concept check that was generating over-large object file sizes.
2018-03-16 20:12:06 +00:00
jzmaddock 578f9cc7b9 complex/mpc: support the non-member complex functions norm/conj etc from non-complex types. 2018-03-14 20:13:51 +00:00
jzmaddock 35c7f80d37 complex/mpc: big name change search and replace. 2018-03-13 20:12:40 +00:00
jzmaddock 9a9a88b0e3 complex/mpc: test interaction with mpfr_float's and first fix on generic conversions to/from complex types. 2018-03-13 19:16:44 +00:00
Nick Thompson 5b3965b296 Remove warning on shifting negative value. 2018-03-13 15:36:32 +08:00
jzmaddock cd3ee9e096 Merge branch 'develop' into complex
# Resolved Conflicts:
#	test/test_arithmetic.hpp
2018-03-12 18:35:38 +00:00
jzmaddock 3a5b6c3aa6 complex/mpc: another attempt at getting real/imag working with gcc. 2018-03-12 18:31:20 +00:00
jzmaddock 25474b49c8 Merge branch 'complex' of https://github.com/boostorg/multiprecision into complex 2018-03-12 18:11:43 +00:00
jzmaddock 2b18cecfff Complex/mpc: Fix up Jamfile. 2018-03-12 18:11:27 +00:00
John Maddock 9c891b7220 complex/mpc: finally get test case compiling with gcc/clang, though not yet the real() and imag() member functions. 2018-03-12 18:02:09 +00:00
jzmaddock d4aa01f657 complex/mpc: begin fixing test failures. 2018-03-11 19:59:45 +00:00
jzmaddock 496ce3dbac complex/mpc: add hashing support, fix up a few gcc compile failures.
Add hashing support to concept checks and fix up most of the failures bar one obscure one.
2018-03-11 19:10:37 +00:00
jzmaddock ead2781235 Complex/mpc: Add remaining non-member functions for complex types. 2018-03-11 12:55:47 +00:00
jzmaddock 032070a4df complex/mpc: more or less complete the transcendental functions. 2018-03-10 20:23:51 +00:00
jzmaddock c441dca055 Complex/MPC: Start adding non-member functions.
Strip out more unneeded code from mpc.hpp.
2018-03-10 19:41:01 +00:00
jzmaddock e94f507f64 complex/mpc: delete more irrelevant stuff and add initial support for real() and imag() accessors. 2018-03-10 13:41:55 +00:00
Nick Thompson 8867d6ca09 Swap out boost::math::gcd to boost::integer::gcd 2018-03-04 15:56:25 -08:00
jzmaddock 580905c528 Complex: Get arithmetic tests passing. 2018-03-04 18:31:17 +00:00
jzmaddock a5ac1fbd4a Complex: mpc.hpp now compiles and passes test_arithmetic.hpp.
Disabled relational operators for complex types.
2018-03-04 17:53:38 +00:00
jzmaddock d3f53c6c6d MPC: Get a few more things working. 2018-03-04 13:05:28 +00:00
jzmaddock 794a628590 Add initial search-and-replace version of mpc backend. 2018-03-04 09:37:28 +00:00
jzmaddock 0708fb99d3 cpp_int: incrementing to zero doesn't set the sign correctly.
Fix sign and add tests.
See https://github.com/boostorg/multiprecision/issues/43
2018-02-08 08:45:54 +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 b35f1c8f61 Multiprecision.Integer conversions: Enforce uniform error handling when converting out-of-range narrowing integer conversions.
See https://svn.boost.org/trac10/ticket/13109
2017-12-30 09:34:35 +00:00
jzmaddock 37c813f764 Multiprecision.generic interconversions: decimal to rational conversions need to treat 0 as a special case.
Fixes: https://svn.boost.org/trac10/ticket/13148
2017-12-27 19:40:03 +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 8d04a03850 Multiprecision: Fix msvc-14.1 C++17 warnings. 2017-12-26 19:22:21 +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 9e4b524d00 Add test cases for fixed bugs. 2017-12-26 17:03:03 +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 d2ed3f881a Change expected value from logb(NaN) to largest/smallest value of the exponent type. 2017-06-12 09:11:13 +01: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 10efe3d169 Add test case for https://github.com/boostorg/multiprecision/issues/21
Add appveyor test coverage.
2017-05-31 19:31:35 +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