[GiNaC-devel] [SCM] GiNaC -- a C++ library for symbolic computations branch, ginac_1-5, updated. release_1-4-0-237-gedf1ae4
Richard B. Kreckel
git at ginac.de
Tue May 18 00:45:14 CEST 2010
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GiNaC -- a C++ library for symbolic computations".
The branch, ginac_1-5 has been updated
via edf1ae46a926d0a718063c149b78c1b9a7ec2043 (commit)
via 6201dc3c6562e0b8c174129af382fd5745de048f (commit)
via c13d5e0ed2ce6223bc6c4340bb00daf2e24ea923 (commit)
via f28f24cf1228f0fa9cb0889d87a3f4039587ff92 (commit)
via a7c70c1f9e0b906a8b95bffb04bc1266eb59f39d (commit)
from 05f749ac2abb672f8e0a1cef938ea1e83e1255dc (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit edf1ae46a926d0a718063c149b78c1b9a7ec2043
Author: Alexei Sheplyakov <alexei.sheplyakov at gmail.com>
Date: Tue May 18 00:23:03 2010 +0200
pgcd(), chinrem_gcd(): use appropriate definition of the degree.
Effect: fixes (rare) GCD miscalculation.
pgcd() treats polynomials Z_p[x_0, ..., x_n] as R[x_0, ..., x_{n - 1}], where
R = Z_p[x_n]. Therefore one should use correct definition of the degree
(i.e. compute it w.r.t. x_0, ..., x_{n-1}, but NOT w.r.t. x_n!).
One should use appropriate definition of degree (that is, w.r.t. x_0, ..., x_n)
in chinrem_gcd() too.
Thanks to Aless Lasaruk for a bug report.
commit 6201dc3c6562e0b8c174129af382fd5745de048f
Author: Alexei Sheplyakov <alexei.sheplyakov at gmail.com>
Date: Tue May 18 00:21:53 2010 +0200
Added `degree_vector' utility function.
It's a generalization of degree(expr, var) for multivariate polynomials.
commit c13d5e0ed2ce6223bc6c4340bb00daf2e24ea923
Author: Alexei Sheplyakov <alexei.sheplyakov at gmail.com>
Date: Tue May 18 00:20:08 2010 +0200
primpart_content: correctly handle monomials.
Impact: fixes (rare) incorrect gcd calculation and (potential) segfault.
Thanks to Aless Lasaruk for a bug report.
commit f28f24cf1228f0fa9cb0889d87a3f4039587ff92
Author: Alexei Sheplyakov <alexei.sheplyakov at gmail.com>
Date: Tue May 18 00:17:26 2010 +0200
pgcd(): avoid infinite loop if the first GCD candidate coincides with GCD
136 if (H_lcoeff.is_equal(lc_gcd)) {
137 if ((Hprev-H).expand().smod(pn).is_zero()) // (*)
138 continue;
The check (*) can result in infinite loop if the (very) first GCD candidate
gives the correct GCD: any subsequent iterations give the same result, so
Hprev and H will be equal (hence the infinite loop). That check is not very
useful (AFAIR I was trying to avoid extra division checks), so let's remove it.
commit a7c70c1f9e0b906a8b95bffb04bc1266eb59f39d
Author: Richard Kreckel <kreckel at ginac.de>
Date: Mon May 17 08:37:08 2010 +0200
Fix URL of CODA.
-----------------------------------------------------------------------
Summary of changes:
check/Makefile.am | 4 +++
check/pgcd_infinite_loop.cpp | 41 +++++++++++++++++++++++++++++++++
doc/tutorial/ginac.texi | 2 +-
ginac/polynomial/collect_vargs.cpp | 22 ++++++++++++++++-
ginac/polynomial/collect_vargs.h | 31 +++++++++++++++++++++++++
ginac/polynomial/mgcd.cpp | 12 ++++++---
ginac/polynomial/pgcd.cpp | 12 +++++-----
ginac/polynomial/primpart_content.cpp | 2 +-
8 files changed, 112 insertions(+), 14 deletions(-)
create mode 100644 check/pgcd_infinite_loop.cpp
hooks/post-receive
--
GiNaC -- a C++ library for symbolic computations
More information about the GiNaC-devel
mailing list