Commit Graph

5028 Commits

Author SHA1 Message Date
Kolya Matteo
ece2283833 Add polynomial self-multiply-assign test case 2016-05-02 13:46:06 -04:00
Kolya Matteo
589a18f63f Don't assume default-constructibility 2016-05-02 09:52:41 -04:00
Kolya Matteo
627a4cedfd Multiply into a new vector and swap 2016-05-01 23:55:28 -04:00
Kolya Matteo
9c8e3f2d4b Fix self-multiply-assign by backing down 2016-05-01 23:18:50 -04:00
Kolya Matteo
ca07aa8a0a Fix indefinite hang with p *= p 2016-05-01 20:47:54 -04:00
Jeremy W. Murphy
2168585e98 Compute delta as late as possible. 2016-04-27 12:13:49 +10:00
Jeremy W. Murphy
8e25e0a487 Improve comments, remove superfluous using directive. 2016-04-27 12:12:20 +10:00
Jeremy W. Murphy
60d6a05d2c Prefer immediate return to goto. 2016-04-22 13:32:34 +10:00
Jeremy W. Murphy
d484fa657c Remove inferior generalized gcd; include integral size promotion. 2016-04-20 22:53:56 +10:00
Jeremy W. Murphy
dc81bc8e6e Add 4.6.1E, generalized gcd.
Should be useful for cross-validating 4.6.1C.
2016-04-20 01:38:05 +10:00
jzmaddock
1ef4bb6490 Add mixed binary algorithm plus gcd_traits class with bitscan support. 2016-04-18 13:50:01 +01:00
Jeremy W. Murphy
4dc7c31f48 Extra test for gcd of polynomial over ufd. But is it correct? 2016-04-18 01:46:43 +10:00
Jeremy W. Murphy
aa19132d74 4.6.1C: Greatest common divisor over a unique factorization domain. 2016-04-17 14:21:01 +10:00
Jeremy W. Murphy
5bfe2a7b15 Efficient conversion to bool.
This will save a lot of (x == zero_element<...>(...)) syntax that is not
only unwieldy but inefficient.
2016-04-17 13:42:50 +10:00
Jeremy W. Murphy
d6dd40def6 Contextual comment and zero case for pp(). 2016-04-15 14:17:42 +10:00
Jeremy W. Murphy
573b9fc399 content and primitive_part of a polynomial over a ufd. 2016-04-15 13:14:18 +10:00
Jeremy W. Murphy
b3d398636c gcd_n: Further comments. 2016-04-15 07:29:38 +10:00
Jeremy W. Murphy
03e71021ac Unit test.
# Conflicts:
#	include/boost/math/common_factor_rt.hpp
2016-04-15 07:20:15 +10:00
Jeremy W. Murphy
af28716e31 Algorithm description. 2016-04-14 22:58:46 +10:00
Jeremy W. Murphy
5b8c448ce0 gcd of n values. 2016-04-14 14:22:12 +10:00
jzmaddock
8a1815902f Merge branch '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.
2016-04-12 18:39:31 +01:00
jzmaddock
7281b18ab8 Merge branch 'gcd' of https://github.com/boostorg/math into gcd
# Conflicts:
#	reporting/performance/doc/performance_tables.qbk
2016-04-12 18:36:28 +01:00
jzmaddock
e9bafa3236 We need some using std::swap declarations. 2016-04-12 18:35:01 +01:00
Jeremy W. Murphy
e963c67af2 Normalize after left-shift assignment to prevent denormalized zeroes. 2016-04-10 01:27:36 +10:00
jzmaddock
8b332c8ea8 Add GCC Mingw gcd results. 2016-04-08 19:07:54 +01:00
jzmaddock
c6e705b2a7 Fix linux gcd test errors and run performance tests 2016-04-07 19:36:32 +01:00
jzmaddock
9988e737a2 Fix gcc build failures. 2016-04-07 18:54:10 +01:00
jzmaddock
9f3e3852df Update gcd performance results. 2016-04-07 18:24:03 +01:00
Jeremy W. Murphy
ab87cb4d27 polynomial: Document right/left shift and odd/even functionality. 2016-04-07 14:54:39 +10:00
Jeremy W. Murphy
e75d47e24a Fix bugs in printing out zero coefficients. 2016-04-07 14:53:33 +10:00
jzmaddock
07f5e1666b Get the tests passing with Jeremy's new gcd. 2016-04-06 19:16:47 +01:00
jzmaddock
9f5d39c5e1 Merge branch 'gcd_revamp' of https://github.com/jeremy-murphy/math into gcd
# Fixed Conflicts:
#	reporting/performance/test_gcd.cpp
#	test/test_gcd.cpp
2016-04-06 18:09:45 +01:00
jzmaddock
6c2a370fe2 Improve gcd performance testing (first draft). 2016-04-06 18:03:20 +01:00
jzmaddock
e1dd0645a7 Improve gcd tests. 2016-04-06 18:02:39 +01:00
jzmaddock
11500b787b Merge branch 'polynomial_shift' of https://github.com/jeremy-murphy/math into gcd
# 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.
2016-04-06 17:58:21 +01:00
Jeremy W. Murphy
473cc9f209 Use std::numeric_limits rather than Boost's built-in type_traits.
The Boost type traits are too strict about what qualifies as a signed
number.
2016-04-05 09:48:15 +10:00
Jeremy W. Murphy
fd11b9a4da Use <<= rather than <<. 2016-04-05 09:44:28 +10:00
Jeremy W. Murphy
232a64424f Use unqualified swap to allow ADL. 2016-04-05 09:41:59 +10:00
Jeremy W. Murphy
7789138e52 Add an unsigned multiprecision test type. 2016-04-05 09:40:16 +10:00
jzmaddock
0940e7d1e6 Revert "Don't use a library when an object file will do."
This reverts commit 86f3ae5463.
2016-04-04 12:55:17 +01:00
Jeremy W. Murphy
11e502b4ac New gcd implementation. 2016-04-04 18:36:53 +10:00
jzmaddock
01c2c0158f Regenerate docs with new performance results. 2016-03-29 08:02:27 +01:00
Jeremy W. Murphy
045aa6ae11 Basic specification of shift operators. 2016-03-29 09:11:02 +11:00
jzmaddock
de2a22af4e Update gcd performance test code. 2016-03-28 19:35:07 +01:00
jzmaddock
46543aa6b9 Initial performance table regen. 2016-03-28 13:12:48 +01:00
jzmaddock
86f3ae5463 Don't use a library when an object file will do. 2016-03-28 13:11:54 +01:00
Jeremy W. Murphy
cff8705458 Consistent white space. 2016-03-28 16:08:04 +11:00
Jeremy W. Murphy
238cd6078b polynomial: odd/even predicates.
We use the definition of odd and even consistent with considering x as the
smallest prime factor. That is, an even polynomial has a constant of zero.
2016-03-28 16:04:27 +11:00
Jeremy W. Murphy
e9da8a10bf polynomial: Left and right shift operators.
Shifting adds or removes a factor of x in the same way that shifting adds
or removes a factor of 2 to integers.
2016-03-27 22:03:33 +11:00
jzmaddock
b7da60a1c9 Merge pull request #24 from jeremy-murphy/gcd_perf
Performance test for euclidean and binary gcd.
2016-03-09 18:53:00 +00:00