[GiNaC-devel] [SCM] GiNaC -- a C++ library for symbolic computations branch, master, updated. release_1-4-0-218-ge75c7a3

Richard B. Kreckel git at ginac.de
Tue May 18 00:45:15 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, 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 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 b2ea74ecbae56d737aacf2cbb418d7c9998718a4
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 5432feb4dae4c48f3b652d661aa323f07d20c00b
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 8fcaff0d29e20d570c2936a27ce110326b76390e
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 0c1db90c39613c27a088b760d68e8d59d4a12ee3
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