Andrey Semashev
|
becbd39cc4
|
Switch to boost::core::invoke_swap.
boost::swap is deprecated and will be removed. Use boost::core::invoke_swap
as a replacement.
|
2023-09-03 00:24:44 +03:00 |
|
Andrey Semashev
|
092d94c833
|
Converted all links to www.boost.org to https.
Closes https://github.com/boostorg/integer/pull/25.
|
2021-01-20 11:34:42 +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 |
|
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
|
de0d24733b
|
Remove dependency on boost/typeindex in tests.
|
2018-10-26 19:23:11 -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
|
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 |
|