Commit Graph

83 Commits

Author SHA1 Message Date
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 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 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 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 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
jzmaddock 10026d9b6f Disable some tests on older compilers that we know won't pass. 2017-06-09 19:47:18 +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
jzmaddock 9c75396c05 Fix more explicit instantiations in test cases. 2017-04-26 19:11:18 +01:00
jzmaddock 395735a193 Add tests for multiprecision types and fix test program to still compile. 2017-04-26 18:24:09 +01:00
jzmaddock beb6871864 Switch over to using new Boost.Math version of gcd/lcm.
Please refer to the Boost.Math revision log for details of changes, but in summary:
* New version of gcd/lcm internals by Jeremy Murphy include mixed-binary algorithm and better selection logic.
* Support is now included for gcd's of polynomials.
* Full C++14 constexpr support.
2017-04-23 13:01:09 +01:00
jzmaddock f650385f65 Disable test case that causes msvc internal error. 2017-03-30 18:50:57 +01:00
jzmaddock 39d9701857 Enable one more noexcept test 2017-03-28 19:30:48 +01:00
jzmaddock 13b36d8432 Add tests for C++14 support. 2017-03-28 19:06:13 +01:00
Vicente J. Botet Escriba 1ff7278d5f Added compile fail test for uint_t<65>. related to #6169. 2015-01-25 17:26:09 +01:00
jzmaddock 83feb20e51 Missing #include
Test case uses mpl:: types without including the needed header - exposed by ongoing type traits rewrite.
2015-01-23 19:05:59 +00:00
Peter Dimov 8dae82faeb Replace math with integer, untabify. 2015-01-13 20:53:02 +02:00
Peter Dimov 1a72919419 Add common_factor_test to test/Jamfile, switch to lightweight_test. 2015-01-13 20:33:50 +02:00
Marshall Clow 9f43b6a7d6 Removed missed usage of deprecated macros in Boost.Math
[SVN r81586]
2015-01-13 19:41:32 +02:00
John Maddock fecb6b5509 Fix numeric_limits specialization.
[SVN r79419]
2015-01-13 19:41:32 +02:00
Gennadiy Rozental eea434b0f1 eliminated test_case_template.hpp
[SVN r74735]
2015-01-13 19:41:31 +02:00
Daniel James bdafb07012 Replace a couple of non-ascii symbols.
[SVN r46943]
2015-01-13 19:41:28 +02:00
John Maddock fe60fee95b Fix more inspect report issues, and regenerated the docs.
[SVN r46839]
2015-01-13 19:41:28 +02:00
John Maddock e20431e713 Changed long long to boost::long_long_type and unsigned long long to boost::ulong_long_type. A couple of other typo corrections, to get the code compiling with g++ -pedantic.
[SVN r44877]
2015-01-13 19:41:27 +02:00
John Maddock 217fa37de2 Fix min/max usage violation.
[SVN r43145]
2015-01-13 19:41:27 +02:00
John Maddock a9d91361fa Undo previous fix, it causes regressions.
[SVN r37022]
2015-01-13 19:41:26 +02:00
John Maddock f1076ff42c STLport workaround.
[SVN r37001]
2015-01-13 19:41:26 +02:00
Joaquín M. López Muñoz 18a37cbab2 various fixes for old compilers
[SVN r36259]
2015-01-13 19:41:25 +02:00
Daryle Walker 80b59192ae Made the GCD specializations for '(unsigned) long long' and '(unsigned) __int64' mutually exclusive, following the lead of <boost/cstdint.hpp>.
[SVN r35999]
2015-01-13 19:41:25 +02:00
Daryle Walker 1f5f827a5e Changed GCD for built-in integer types to use the binary-GCD algorithm
[SVN r35850]
2015-01-13 19:41:25 +02:00
Daryle Walker 56b287a590 Added custom integer types, signed and unsigned, with and without std::numeric_limits<> specializations, to test
[SVN r35830]
2015-01-13 19:41:24 +02:00
Daryle Walker c8faa83d47 Changed test to use Boost.Test's unit test system
[SVN r35815]
2015-01-13 19:41:24 +02:00
Stefan Slapeta 6e6179b932 Replaced BOOST_TEST
[SVN r27050]
2015-01-13 19:41:23 +02:00
Douglas Gregor cd696b2f6a License update
[SVN r24180]
2015-01-13 19:41:22 +02:00
John Maddock bb16ad8ea0 Added tests for unsigned int types
[SVN r13685]
2015-01-13 19:41:20 +02:00
Dave Abrahams 5f810b2754 Daryle Walker's GCD library submission
[SVN r11814]
2015-01-13 19:41:18 +02:00
Glen Fernandes 05330d178e Remove cstdint which has been moved to Boost.Config 2014-06-01 10:52:52 -07:00
John Maddock 90f779a9a3 Fix integer.hpp so a compiler error is generated when the number of bits requested is greater than the max available.
Added new tests to catch this case.

[SVN r78307]
2012-05-02 17:10:20 +00:00
John Maddock cc73477d13 Fix typo.
Refs #6003.

[SVN r76137]
2011-12-24 17:29:03 +00:00
Steven Watanabe cd98c4a257 Add a 64 bit specialization of low_bits_mask_t. Fixes #4332
[SVN r62756]
2010-06-10 19:49:34 +00:00
John Maddock 14e17dd9f6 Update cstdint.hpp to always define the INT#_C macros.
Try again with Codegear workaround.

[SVN r58292]
2009-12-11 17:46:10 +00:00
John Maddock 92a617bbe9 Get the tests warning free again with GCC.
Finally get everything working with the Borland compiler.
Fix a few typos: use of long rather than unsigned long, use of long long rather than long_long_type etc.

[SVN r58056]
2009-11-30 13:50:05 +00:00
John Maddock ad5d5b0e1f Up template instantiation depth for sun compiler.
[SVN r58033]
2009-11-29 16:23:04 +00:00
John Maddock 3af7c55ad9 Make code respect BOOST_NO_INTEGRAL_INT64_T.
[SVN r58031]
2009-11-29 16:02:45 +00:00
John Maddock 1797528e35 Change long long to boost::long_long_type etc.
[SVN r58029]
2009-11-29 13:59:18 +00:00