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

Jens Vollinga git at ginac.de
Wed Aug 27 21:44:33 CEST 2008


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  55af76071727bd6e2fd540ad58eac26dd961f9c9 (commit)
       via  a79a813e7249f793859d1d3b443d1931dbab94b6 (commit)
       via  6ff92476a4dcd32f9a0c6f59c95c74812ea86fef (commit)
       via  55e50ea26252dff7432bdce8b010f9fbd058e907 (commit)
       via  1d09676118944532e6100c93383d1659b1253a60 (commit)
       via  adb1dbd383ae6e5a999b5f8cba72a5c2bfd50c11 (commit)
       via  c77689e7ac8d8f4dbca0f337b6e9acf2419010ff (commit)
       via  77b6a0304a48d6a306deeda18177680f16025b33 (commit)
       via  7d7131d3af3de5425b7fe80b1f587740294371bc (commit)
       via  b65fcd7481a401ec23c284c91f6f4e883e967676 (commit)
       via  8474043d373a19e04008f476fa9b77e45734b604 (commit)
       via  ff09c4f8103f53fe3b7a51eb3c33eff2e5a243f0 (commit)
       via  b4b302fe5d54720b58a23568a4270e04ee1ca216 (commit)
      from  1222eac51cee964961d2aad889dc4ceccb144a36 (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 55af76071727bd6e2fd540ad58eac26dd961f9c9
Author: Jens Vollinga <jensv at nikhef.nl>
Date:   Wed Aug 27 17:25:16 2008 +0200

    Added internal code for multivariate factorization.

commit a79a813e7249f793859d1d3b443d1931dbab94b6
Author: Alexei Sheplyakov <varg at theor.jinr.ru>
Date:   Mon Aug 25 16:57:38 2008 +0400

    gcd_pf_pow_pow: deobfuscate a little bit (no functional changes).
    
    Use
    
    if (foo)
    	return bar();
    return baz();
    
    instead of
    
    	if (foo) {
    		return bar();
    	} else {
    		return baz();
    	}
    
    This makes the code a little bit more readable.

commit 6ff92476a4dcd32f9a0c6f59c95c74812ea86fef
Author: Alexei Sheplyakov <varg at theor.jinr.ru>
Date:   Mon Aug 25 16:57:02 2008 +0400

    gcd_pf_pow: get rid of duplicate code.
    
    This function (which helps gcd() handle partially factored expressions)
    contained two copies of the same code. Remove one redundant copy.

commit 55e50ea26252dff7432bdce8b010f9fbd058e907
Author: Alexei Sheplyakov <varg at theor.jinr.ru>
Date:   Mon Aug 25 16:56:04 2008 +0400

    introduce gcd_pf_pow_pow: gcd helper to handle partially factored expressions.
    
    gcd_pf_pow_pow handles the case when both arguments of gcd() are powers.
    
    N.B. the actual code moved from gcd_pf_pow, no functional changes.

commit 1d09676118944532e6100c93383d1659b1253a60
Author: Alexei Sheplyakov <varg at theor.jinr.ru>
Date:   Mon Aug 25 16:55:42 2008 +0400

    gcd_pf_{pow, mul}: don't check if the arguments are polynomials.
    
    These functions gets called only from gcd(), which does this check
    on its own.

commit adb1dbd383ae6e5a999b5f8cba72a5c2bfd50c11
Author: Alexei Sheplyakov <varg at theor.jinr.ru>
Date:   Mon Aug 25 16:55:13 2008 +0400

    gcd_pf_mul: get rid of duplicate code.
    
    This function (which helps gcd() handle partially factored expressions)
    contained two copies of the same code. Remove one redundant copy.

commit c77689e7ac8d8f4dbca0f337b6e9acf2419010ff
Author: Alexei Sheplyakov <varg at theor.jinr.ru>
Date:   Mon Aug 25 16:54:46 2008 +0400

    gcd(): allow user to override (some of) heuristics.
    
    GiNaC tries to avoid expanding expressions while computing GCDs and applies
    a number of heuristics. Usually this improves performance, but in some cases
    it doesn't. Allow user to switch off heuristics.
    
    Part 5:
    
    * gcd(): don't use heuristic GCD algorithm if gcd_options::no_heur_gcd
      flag is set.
    * gcd(): don't handle partially factored expressions in a special way
      if gcd_options::no_part_factored flag is set.

commit 77b6a0304a48d6a306deeda18177680f16025b33
Author: Alexei Sheplyakov <varg at theor.jinr.ru>
Date:   Mon Aug 25 16:54:10 2008 +0400

    refactor gcd() a little bit (no functional changes).
    
    GiNaC tries to avoid expanding expressions while computing GCDs and applies
    a number of heuristics. Usually this improves performance, but in some cases
    it doesn't. Allow user to switch off heuristics.
    
    Part 4:
    
    refactor gcd() a little bit, so subsequent patch(es) won't be so big and ugly.

commit 7d7131d3af3de5425b7fe80b1f587740294371bc
Author: Alexei Sheplyakov <varg at theor.jinr.ru>
Date:   Mon Aug 25 16:53:47 2008 +0400

    introduce gcd_pf_mul: gcd helper to handle partially factored expressions.
    
    GiNaC tries to avoid expanding expressions while computing GCDs and applies
    a number of heuristics. Usually this improves performance, but in some cases
    it doesn't. Allow user to switch off heuristics.
    
    Part 3:
    
    Move the code handling products from gcd() into a separate function. This
    is *really* only code move, everything else should be considered a bug.

commit b65fcd7481a401ec23c284c91f6f4e883e967676
Author: Alexei Sheplyakov <varg at theor.jinr.ru>
Date:   Mon Aug 25 16:53:07 2008 +0400

    introduce gcd_pf_pow: gcd helper to handle partially factored expressions.
    
    GiNaC tries to avoid expanding expressions while computing GCDs and applies
    a number of heuristics. Usually this improves performance, but in some cases
    it doesn't. Allow user to switch off heuristics.
    
    Part 2:
    
    Move the code handling powers from gcd() into a separate function. This
    is *really* only code move, everything else should be considered a bug.

commit 8474043d373a19e04008f476fa9b77e45734b604
Author: Alexei Sheplyakov <varg at theor.jinr.ru>
Date:   Mon Aug 25 16:52:45 2008 +0400

    gcd: allow user to override (some of) heuristics.
    
    GiNaC tries to avoid expanding expressions while computing GCDs and applies
    a number of heuristics. Usually this improves performance, but in some cases
    it doesn't. Allow user to switch off heuristics.
    
    Part 1:
    
    * add new (optional) argument to gcd() to control its behaviour.
    * introduce gcd_options structure.
    
    N.B. No actual code changes so far, the actual handling of newly introduced
    options is the subject of further patches.

commit ff09c4f8103f53fe3b7a51eb3c33eff2e5a243f0
Author: Alexei Sheplyakov <varg at theor.jinr.ru>
Date:   Sun Aug 24 15:25:24 2008 +0400

    inifscn_nstdsums: make functions handling Li/G transformations reentrant.
    
    Explicitly pass the dummy symbols instead of using a global variable.
    As a side effect, the code is more clear now (that's a bit subjective, but
    anyway).

commit b4b302fe5d54720b58a23568a4270e04ee1ca216
Author: Alexei Sheplyakov <varg at theor.jinr.ru>
Date:   Fri Aug 22 02:42:17 2008 +0400

    Bail out if both autogen and autogen'erated file(s) are missing.
    
    This makes the error message(s) more helpful.

-----------------------------------------------------------------------

Summary of changes:
 ginac/Makefile.am          |    1 +
 ginac/factor.cpp           |  657 +++++++++++++++++++++++++++++++++++++++++++-
 ginac/inifcns_nstdsums.cpp |  128 +++++----
 ginac/normal.cpp           |  306 ++++++++++-----------
 ginac/normal.h             |   25 ++-
 5 files changed, 897 insertions(+), 220 deletions(-)


hooks/post-receive
--
GiNaC -- a C++ library for symbolic computations


More information about the GiNaC-devel mailing list