513 Commits

Author SHA1 Message Date
Nick Thompson b3680b77fd Disable tests for gcc < version 5 2018-11-01 12:02:18 -06:00
Andrey Semashev 099cf261b0 Added clang 7 CI job. boost-1.69.0-beta1 boost-1.69.0 2018-11-01 20:24:04 +03:00
Andrey Semashev ab509ca840 Use https in URLs in readme. 2018-11-01 16:33:47 +03:00
Andrey Semashev 37204ea892 Corrected a typo in readme. 2018-11-01 16:25:15 +03:00
Andrey Semashev 5df4961448 Added CI build statuses to readme. 2018-11-01 16:14:20 +03:00
Andrey Semashev 95a19b6364 Merge pull request #14 from boostorg/danieljames-patch-1
Fix json error
2018-10-30 11:46:15 +03:00
Daniel James 8674c6724f Fix json error 2018-10-30 07:47:30 +00:00
Nick Thompson a7da90a79e Make changes suggested by reviewer. 2018-10-29 13:10:02 -06:00
Nick Thompson 9312962a68 Use using std::swap; swap(n,m) rather than std::swap(n,m) [CI SKIP] 2018-10-29 13:00:30 -06:00
Nick Thompson df7adb52ca Use std::enable_if to enable SFINAE rather than static_assert 2018-10-29 11:58:18 -06:00
Nick Thompson 6c58aa9a48 Merge remote-tracking branch 'upstream/develop' into develop 2018-10-29 08:53:12 -06:00
Nick Thompson cd60c4c9f9 [CI SKIP] Disable multiprecision in certain compilers. 2018-10-29 08:52:20 -06:00
Andrey Semashev 7c5def9d39 Disable Boost.Multiprecision tests for gcc 4.7 in C++11 mode.
The compiler fails in Boost.TypeTraits which is used in Boost.Multiprecision.
2018-10-29 12:25:55 +03:00
Andrey Semashev 791a139a51 Disable testing C++14 and 17 on clang 3.8 and 3.9.
The compiler uses libstdc++ from gcc 4.8, which does not support C++14.
In particular, it is trying to import the missing ::gets function.
2018-10-29 12:13:42 +03:00
Andrey Semashev 835ac98a23 Fail libgmpxx detection on Linux if libstdc++ is not used as the std library.
libgmpxx was built against libstdc++, so if the application uses e.g. libc++,
linking fails because of the standard symbols mismatch.
2018-10-29 12:07:06 +03:00
Nick Thompson f76d776698 Define main when gcc version is < 5. 2018-10-28 23:28:28 -06:00
Nick Thompson c4c3373708 Don't run tests on gcc 4 and earlier; not worth the pain. 2018-10-28 22:40:36 -06:00
Nick Thompson bbb1da275b Merge master; fix Jamfile 2018-10-28 21:14:31 -06:00
Andrey Semashev b5d5c56e68 Use boostdep to install library dependencies. 2018-10-28 19:51:00 +03:00
Andrey Semashev 3961dc2f1e Changed clang 3.9 toolset apt source to Trusty to fix compilation errors. Aggregated multiple C++ versions to CI jobs and added more toolsets. 2018-10-28 19:11:29 +03:00
Andrey Semashev 645edc971d Added Boost.IO to CI checkout as it's required by Boost.Random. 2018-10-28 01:12:49 +03:00
Andrey Semashev e00ffe97ae Merge branch 'develop' 2018-10-27 20:26:07 +03:00
Nick Thompson 6340dec871 Add boost libraries added as dependencies to tests. 2018-10-26 19:29:58 -06:00
Nick Thompson de0d24733b Remove dependency on boost/typeindex in tests. 2018-10-26 19:23:11 -06:00
Nick Thompson 0c6ec8088d Just use asserts, omg. 2018-10-26 18:42:39 -06:00
Nick Thompson f21a8e301a Make .travis.yml configure the test framework. 2018-10-26 17:56:21 -06:00
Nick Thompson cdefe039ee I'm flailing with this one. 2018-10-26 17:51:31 -06:00
Nick Thompson f6525ae186 (Hopefully) green up build by giving path to Boost.Test. 2018-10-26 17:11:28 -06:00
Nick Thompson e0646cb7ec Add template argument to green up build. Remove discrete log as we do not have an overflow-resistant mul_mod in boost. 2018-10-26 16:58:30 -06:00
Nick Thompson 3632ae43b2 Update docs. [CI SKIP] 2018-10-26 12:05:47 -06:00
Nick Thompson 2d463f3ee7 a*p % m may overflow, do not perform naive multiplication in unit tests or undefined behavior may result. [CI SKIP] 2018-10-26 11:19:43 -06:00
Nick Thompson 3f1603938c Revert change as the previous algorithm overflows for all inputs >= half the bit length of the type. 2018-10-25 18:05:14 -06:00
Nick Thompson 54d0e4c63e [ci skip] Trade out algorithm from 'The Joy of Factoring' to Wikipedia's version which reduces the number of required temporaries. In fact, the speedup is not large, but the code is more compact, and for larger types, the difference becomes more noticeable. 2018-10-25 14:28:39 -06:00
Nick Thompson 87e5b365d8 Return custom struct from extended Euclidean algorithm rather than tuple. Reduce number of operations for tests to reduce CI system workload. Disable discrete log tests until we have time to figure out why they are failing. 2018-10-25 09:38:16 -06:00
Nick Thompson ada03a59d7 Remove dependency on boost.format, remove unfettered use of auto in order to move towards C++03 compatibility, use BOOST_THROW_EXCEPTION. 2018-10-24 14:29:22 -06:00
Nick Thompson 9167594533 Merge branch 'develop' of https://github.com/boostorg/integer into develop 2018-10-24 13:11:30 -06:00
Andrey Semashev 1c586d6dd0 Merge pull request #13 from NAThompson/deprecate_pending_3
[ci skip] Deprecate boost/pending/integer_log2.hpp
2018-10-24 17:59:09 +03:00
Andrey Semashev 6a97e49614 Added a readme. Added myself as a maintainer. 2018-10-24 17:56:15 +03:00
Nick Thompson 661986dd3d [ci skip] Deprecate boost/pending/integer_log2.hpp 2018-02-11 12:32:14 -06:00
Nick Thompson faa61cd911 [ci skip] It is *not* the case that a discrete log exists when the base and modulus are coprime. Take 4^x = 2 mod 5 as a counterexample. Change API accordingly. 2018-02-10 17:51:59 -06:00
Nick Thompson 4f4f3eda37 [ci skip] Fix docs to use less verbose names for modular multiplicative inverse (mod_inverse) 2018-02-10 16:07:17 -06:00
Nick Thompson b3966428c4 [ci skip] Add test of short int to see if there's any obvious places for overflow (none are obvious, but no guarantees they still aren't there). Print basic information about the test to console so that failures are easier to track down. 2018-02-10 13:56:11 -06:00
Nick Thompson 8c415f77b1 [ci skip] Use less verbose naming. Add asserts as verfication of algorithms is a negligible fraction of total runtime. Use boost::multiprecision::powm and boost::multiprecision::sqrt rather than one-offs. 2018-02-09 17:19:26 -06:00
Nick Thompson fc4d657201 [ci skip] Modular exponentiation, modular multiplicative inverse, extended Euclidean algorithm, discrete logarithm. 2018-01-28 14:47:14 -06:00
Glen Fernandes 919c5277c1 Merge pull request #10 from Lastique/patch-2
Correct make_odd return type inconsistency
2017-08-27 12:07:50 -04:00
Andrey Semashev bc2349f71b Corrected make_odd return type inconsistency.
Make gcd_traits<signed char>::make_odd return unsigned int, similar to all other gcd_traits specializations. Also, correct the local variable types that receive the result of make_odd to avoid warnings about unintended conversion.
2017-08-20 01:57:09 +03:00
jzmaddock 66dbc2c70a Merge pull request #9 from boostorg/develop
Merge develop to master
boost-1.68.0 boost-1.67.0 boost-1.66.0 boost-1.65.1 boost-1.65.0
2017-06-10 08:29:02 +01:00
jzmaddock 10026d9b6f Disable some tests on older compilers that we know won't pass. 2017-06-09 19:47:18 +01:00
jzmaddock 3e84cde165 Merge branch 'develop' of https://github.com/boostorg/integer into develop 2017-06-09 14:52:03 +01:00
jzmaddock 5c129565d5 CI: add missing appveyor dependency 2017-06-09 14:51:50 +01:00