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
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
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
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
7c0151c93a
Enumerators don't need a final , in their list.
2017-04-26 18:30:11 +01:00
jzmaddock
4991d82385
Need to take abs of return value in short-circuit gcd code.
2017-04-24 19:19:48 +01:00
jzmaddock
58d53beae4
Add missing #include for older compilers.
2017-04-24 18:18:36 +01:00
jzmaddock
f5eff7d83d
MSVC-8 has no <intrin.h>.
2017-04-24 18:13:56 +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
162e48d14a
Remove dependency to mpl and type_traits.
2017-03-31 18:34:14 +01:00
jzmaddock
45cc025bbd
Merge branch 'bugfix/bitwise-not-and-gcc6' of https://github.com/Flast/boost-integer into cpp14
2017-03-28 19:28:51 +01:00
jzmaddock
a52bae3639
Improve C++14 support:
...
* Make functions constexpr.
* Make functions noexcept where appropriate.
* Add test case for the above.
2017-03-28 18:57:50 +01:00
Kohei Takahashi
89cec128bd
Fix compile error on GCC6 or later.
...
Bitwise not yields integral promotion and to be signed type.
2016-07-30 16:12:07 +09:00
Peter Dimov
8dae82faeb
Replace math with integer, untabify.
2015-01-13 20:53:02 +02:00
Peter Dimov
acf272ee7d
Move common_factor headers to integer/
2015-01-13 19:55:58 +02:00
Glen Fernandes
40b52301df
Move integer_log2 from pending to integer
2014-06-05 15:48:22 -07: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
ca84baa55d
Update Boost.Integer meta-programming classes to work with intmax_t where possible - ie to be 64-bit clean.
...
Added quickbook based docs - updated as necessary.
Removed old html docs.
[SVN r57926]
2009-11-25 12:38:09 +00:00
John Maddock
285048504c
Suppress and/or fix warnings - in particular avoid undefined behaviour in the test cases!
...
[SVN r57859]
2009-11-23 10:43:00 +00:00
John Maddock
eecbd5276f
Reverted Integer back to Release branch state - as per devel-list discussions.
...
[SVN r57580]
2009-11-11 18:57:24 +00:00
Daniel James
edd638ec91
Use BOOST_STATIC_CONSTANT in static_log2, as g++ 4.0 has problems with enum.
...
[SVN r54811]
2009-07-08 21:27:05 +00:00
Daryle Walker
2d259a4f3e
Added MPL-compatible variants of the integer-mask class templates (and finally make the lowest-bit-group metafunctions work for zero-length bit-groups)
...
[SVN r47869]
2008-07-29 19:33:20 +00:00
Daryle Walker
f041dc0f0a
Added extended-integer support
...
[SVN r47842]
2008-07-27 17:08:51 +00:00
Douglas Gregor
bfc384a435
License update
...
[SVN r24180]
2004-07-30 04:46:56 +00:00
Gennaro Prota
0f84fe35da
fixed typo in comment
...
[SVN r23945]
2004-07-22 09:02:43 +00:00
Gennaro Prota
170a352574
new version - more efficient, and with no dependency on numeric_limits<>
...
[SVN r23829]
2004-07-20 09:49:43 +00:00
Björn Karlsson
c56e4674f8
Update from Daryle
...
[SVN r14187]
2002-06-19 20:11:17 +00:00
Dave Abrahams
c50993d5d4
Added daryle's missing files
...
[SVN r11971]
2001-12-07 12:48:20 +00:00