Commit Graph

439 Commits

Author SHA1 Message Date
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
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
jzmaddock
9a26557f38 Merge pull request #7 from DanielaE/fix/narrowing
fix narrowing warnings due to integer promotion.
2017-06-08 19:25:00 +01:00
Daniela Engert
6ebccd6c80 fix narrowing warnings due to integer promotion.
Signed-off-by: Daniela Engert <dani@ngrt.de>
2017-06-08 17:40:32 +02:00
jzmaddock
6662dbdbbd CI: Fix appveyor bjam arguments. 2017-06-04 08:02:14 +01:00
jzmaddock
81a7c92b6c CI: Add missing dependency to utility. 2017-06-01 08:48:02 +01:00
jzmaddock
4406ec8039 Merge branch 'develop' of https://github.com/boostorg/integer into develop 2017-05-31 18:45:28 +01:00
jzmaddock
8e63e7f284 CI: Add more testers and minimise dependencies. 2017-05-31 18:45:16 +01:00
John Maddock
0c956331a0 Fix gmp test failures 2017-05-09 19:52:20 +01:00
jzmaddock
943d63e309 Fix use of check-target-builds in Jamfile. 2017-05-09 18:03:03 +01:00
jzmaddock
7ccb820893 Test mpz_class when available.
And fix errors compiling with that type.
2017-05-07 13:15:15 +01:00
John Maddock
84ded579f3 Qualify recursive calls to avoid ambiguity for types that have their own gcd/lcm 2017-05-04 11:12:33 +01:00
John Maddock
c1a08d3185 We can enable compiler intrinsics with GCC in C++14 mode after all 2017-04-30 18:49:47 +01:00
John Maddock
53306630db Fix for Oracle 12.4 compiler 2017-04-27 17:23:40 +00:00
jzmaddock
1d934167fd Tentative fix for overload resolution issue with Oracle C++. 2017-04-26 19:51:03 +01:00
jzmaddock
9c75396c05 Fix more explicit instantiations in test cases. 2017-04-26 19:11:18 +01:00
jzmaddock
7c0151c93a Enumerators don't need a final , in their list. 2017-04-26 18:30:11 +01:00
jzmaddock
52e2dba49b Merge branch 'develop' of https://github.com/boostorg/integer into develop 2017-04-26 18:24:22 +01:00
jzmaddock
395735a193 Add tests for multiprecision types and fix test program to still compile. 2017-04-26 18:24:09 +01:00
Peter Dimov
240b96ddec Add appveyor.yml 2017-04-25 17:26:57 +03:00
jzmaddock
6af0e7ee85 Merge branch 'develop' of https://github.com/boostorg/integer into develop 2017-04-24 19:20:02 +01:00
jzmaddock
4991d82385 Need to take abs of return value in short-circuit gcd code. 2017-04-24 19:19:48 +01:00
Peter Dimov
2b133e8ea8 Merge branch 'develop' of https://github.com/boostorg/integer into develop 2017-04-24 21:08:11 +03:00
Peter Dimov
55e81c5ba7 Fetch test dependencies in .travis.yml 2017-04-24 21:07:48 +03:00
jzmaddock
52ce75ed65 Merge branch 'develop' of https://github.com/boostorg/integer into develop
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2017-04-24 18:52:16 +01:00
jzmaddock
3e43dd6fc2 Update history. 2017-04-24 18:50:19 +01:00