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