[SCM] GiNaC -- a C++ library for symbolic computations branch, master, updated. release_1-4-0-218-ge75c7a3
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, master has been updated via e75c7a32a0ea156635aeec535b9cdf7d4bf3f9b9 (commit) via b2ea74ecbae56d737aacf2cbb418d7c9998718a4 (commit) via 5432feb4dae4c48f3b652d661aa323f07d20c00b (commit) via 8fcaff0d29e20d570c2936a27ce110326b76390e (commit) via 0c1db90c39613c27a088b760d68e8d59d4a12ee3 (commit) from b604136850dac1fa8016623349061f2a3b0085be (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 e75c7a32a0ea156635aeec535b9cdf7d4bf3f9b9 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 b2ea74ecbae56d737aacf2cbb418d7c9998718a4 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 5432feb4dae4c48f3b652d661aa323f07d20c00b 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 8fcaff0d29e20d570c2936a27ce110326b76390e 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 0c1db90c39613c27a088b760d68e8d59d4a12ee3 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