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