Commit Graph

426 Commits

Author SHA1 Message Date
Nick Thompson
29e3ae824c Fully qualify call. 2018-12-04 12:09:31 -07:00
Nick Thompson
0af165bf6d Merge branch 'remove_optional' of https://github.com/NAThompson/integer into remove_optional 2018-12-04 11:31:12 -07:00
Nick Thompson
080f2bdfdc Take care of the case where integer type Z has explicit constructor. 2018-12-04 11:27:37 -07:00
Nick
289939a640 Merge branch 'develop' into remove_optional 2018-12-04 10:57:02 -07:00
Nick Thompson
51b259da19 Return integer with zero signaling common factor rather than boost::optional<Z>. 2018-12-04 10:55:03 -07:00
Andrey Semashev
4bc1a5eb75 Extracted DISABLE_MP_TESTS macro definition to a common header. 2018-11-05 22:56:03 +03:00
Andrey Semashev
682d4ac66b Fixed tests not compiling on MSVC 8, added missing includes. 2018-11-04 01:00:57 +03:00
Andrey Semashev
2f634ca78b Added missing includes, remove C++11 requirement, other code cleanup.
Also, use Boost.Swap instead of the direct unqualified call to std::swap
and boost::enable_if_c instead of std::enable_if.
2018-11-03 23:10:44 +03:00
Andrey Semashev
2b08ca9368 Removed auto-generated docs from git. 2018-11-03 22:48:58 +03:00
Andrey Semashev
aa68e17f2e Merge pull request #11 from NAThompson/develop
Modular exponentiation, modular multiplicative inverse
2018-11-03 22:46:30 +03:00
Nick Thompson
cad4623876 Regenerate documentation. 2018-11-02 13:45:45 -06:00
Nick Thompson
9a7f24e8ca Merge remote-tracking branch 'upstream/develop' into develop
Merge upstream [CI SKIP]
2018-11-01 17:12:50 -06:00
Nick Thompson
3599683975 #include <boost/config.hpp> 2018-11-01 12:11:09 -06:00
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