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@nikhef.nl> Date: Wed Aug 27 17:25:16 2008 +0200 Added internal code for multivariate factorization. commit a79a813e7249f793859d1d3b443d1931dbab94b6 Author: Alexei Sheplyakov <varg@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@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@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@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@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@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@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@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@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@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@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@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