Nick Thompson
|
080f2bdfdc
|
Take care of the case where integer type Z has explicit constructor.
|
2018-12-04 11:27:37 -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 |
|
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 |
|
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 |
|