[SCM] GiNaC -- a C++ library for symbolic computations branch, ginac_1-5, updated. release_1-4-0-237-gedf1ae4
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@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@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@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@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@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
participants (1)
-
git@ginac.de