Commit Graph

10 Commits

Author SHA1 Message Date
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
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
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
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
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
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
fc4d657201 [ci skip] Modular exponentiation, modular multiplicative inverse, extended Euclidean algorithm, discrete logarithm. 2018-01-28 14:47:14 -06:00