From git at ginac.de Tue Dec 1 23:31:38 2015 From: git at ginac.de (Richard B. Kreckel) Date: Tue, 1 Dec 2015 23:31:38 +0100 (CET) Subject: [GiNaC-devel] [SCM] GiNaC -- a C++ library for symbolic computations branch, c++11, updated. release_1-4-0-501-g65f2693 Message-ID: <20151201223139.3F3CD220AB3@cebix.net> 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, c++11 has been updated via 65f2693a0948d1db0bc68d7656c64e1fed91c158 (commit) from 00d612ce3789ba9240ade1b8bf06b26c326bd8f2 (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 65f2693a0948d1db0bc68d7656c64e1fed91c158 Author: Richard Kreckel Date: Mon Nov 30 23:06:53 2015 +0100 Improve method of setting status_flags::dynallocated. There seems to be no way to obsolete the need to mark an object derived from basic and handled by ex as being 'on the heap', at least none that doesn't have significant performance impact. Having said that, this patch aims at making this process simpler and more intuitive. Where, before, one would return from a function returning an ex with return (new mul(a, b))->setflag(status_flags::dynallocated); this patch lets us return with return dynallocate(a, b); which should be much clearer. In any case, it involves less typing. The two points where the status_flags::dynallocated are set are now * the dynallocate(args...) template function and * the virtual duplicate() member functions. This patch rolls out the new functionality throughout the library. ----------------------------------------------------------------------- Summary of changes: check/exam_factor.cpp | 2 +- check/exam_mod_gcd.cpp | 2 +- ginac/add.cpp | 51 ++++++++------------ ginac/basic.cpp | 4 +- ginac/basic.h | 34 ++++++++++++- ginac/clifford.cpp | 53 ++++++++++----------- ginac/color.cpp | 10 ++-- ginac/ex.cpp | 25 ++-------- ginac/expairseq.cpp | 2 +- ginac/function.cppy | 3 +- ginac/idx.cpp | 13 +++-- ginac/indexed.cpp | 19 ++++---- ginac/inifcns.cpp | 2 +- ginac/inifcns_trans.cpp | 4 +- ginac/integral.cpp | 15 ++---- ginac/matrix.cpp | 28 +++++------ ginac/mul.cpp | 55 ++++++++++----------- ginac/ncmul.cpp | 41 +++++++--------- ginac/normal.cpp | 83 ++++++++++++++++---------------- ginac/numeric.cpp | 21 ++++---- ginac/operators.cpp | 8 ++-- ginac/parser/parse_binop_rhs.cpp | 14 +++--- ginac/polynomial/collect_vargs.cpp | 4 +- ginac/polynomial/divide_in_z_p.cpp | 2 +- ginac/polynomial/euclid_gcd_wrap.h | 2 +- ginac/power.cpp | 86 ++++++++++++++------------------- ginac/power.h | 4 +- ginac/pseries.cpp | 30 +++++------- ginac/registrar.h | 7 ++- ginac/relational.cpp | 4 +- ginac/symbol.h | 14 +++++- ginac/symmetry.cpp | 24 +++++----- ginac/tensor.cpp | 18 +++---- ginac/utils.cpp | 98 +++++++++++++++++++------------------- 34 files changed, 378 insertions(+), 404 deletions(-) hooks/post-receive -- GiNaC -- a C++ library for symbolic computations From git at ginac.de Wed Dec 16 21:34:54 2015 From: git at ginac.de (Richard B. Kreckel) Date: Wed, 16 Dec 2015 21:34:54 +0100 (CET) Subject: [GiNaC-devel] [SCM] GiNaC -- a C++ library for symbolic computations branch, c++11, updated. release_1-4-0-503-g6c946d4 Message-ID: <20151216203454.E44BA220A2E@cebix.net> 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, c++11 has been updated via 6c946d4c762f5a0d6a3b742f03556dd018d63886 (commit) via ae6c004bd31e02dda37357d74b641c101b116c73 (commit) from 65f2693a0948d1db0bc68d7656c64e1fed91c158 (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 6c946d4c762f5a0d6a3b742f03556dd018d63886 Author: Richard Kreckel Date: Wed Dec 16 21:22:36 2015 +0100 Make .eval() evaluate top-level only. With the previous patch, some old workarounds have become unnecessary: If all expressions are evaluated, any object which is an aggregate of expressions will only ever have to evaluate the top level. As such, it has become pointless to evaluate child objects of an expression prior to doing its own term-rewriting. This patch removes the evaluation of children from all GiNaC objects. It also removes the now superfluous parameter 'level' of the eval methods. commit ae6c004bd31e02dda37357d74b641c101b116c73 Author: Richard Kreckel Date: Wed Dec 16 13:00:30 2015 +0100 Make add::eval(), mul::eval() work without compromise. If a user asks to evaluate an object, the expectation is that the library returns an evaluated, canonical expression. Everything else is a bug. (It doesn't matter whether the user asks explicitly or by assigning to an ex.) It turns out that it was possible to construct objects which didn't fully evaluate. This patch fixes this by making eval() a little bit more careful. This obsoletes the need to go through combine_ex_with_coeff_to_pair() when constructing an epvector that is then used to construct an add or mul. (Alas, this was omitted frequently enough...) ----------------------------------------------------------------------- Summary of changes: check/exam_inifcns_nstdsums.cpp | 2 +- check/exam_paranoia.cpp | 64 ++++++++++++------------ check/exam_structure.cpp | 2 +- doc/tutorial/ginac.texi | 50 +++++++++---------- ginac/add.cpp | 33 ++++++------- ginac/add.h | 2 +- ginac/basic.cpp | 2 +- ginac/basic.h | 2 +- ginac/container.h | 32 ------------ ginac/ex.cpp | 2 +- ginac/ex.h | 6 +-- ginac/expairseq.cpp | 78 ++++++++++++----------------- ginac/expairseq.h | 4 +- ginac/factor.cpp | 2 - ginac/fderivative.cpp | 7 +-- ginac/fderivative.h | 2 +- ginac/function.cppy | 7 ++- ginac/function.hppy | 2 +- ginac/indexed.cpp | 6 +-- ginac/indexed.h | 2 +- ginac/inifcns_nstdsums.cpp | 2 +- ginac/integral.cpp | 22 +++------ ginac/integral.h | 2 +- ginac/matrix.cpp | 21 -------- ginac/matrix.h | 4 -- ginac/mul.cpp | 33 ++++++++----- ginac/mul.h | 2 +- ginac/ncmul.cpp | 17 +++---- ginac/ncmul.h | 2 +- ginac/normal.cpp | 8 +-- ginac/numeric.cpp | 4 +- ginac/numeric.h | 2 +- ginac/power.cpp | 107 ++++++++++++++++++---------------------- ginac/power.h | 2 +- ginac/pseries.cpp | 12 ++--- ginac/pseries.h | 2 +- ginac/relational.cpp | 11 ----- ginac/relational.h | 1 - ginac/structure.h | 2 +- ginac/symbol.h | 2 +- ginsh/ginsh_parser.ypp | 13 +---- 41 files changed, 225 insertions(+), 353 deletions(-) hooks/post-receive -- GiNaC -- a C++ library for symbolic computations From git at ginac.de Wed Dec 16 22:17:49 2015 From: git at ginac.de (Richard B. Kreckel) Date: Wed, 16 Dec 2015 22:17:49 +0100 (CET) Subject: [GiNaC-devel] [SCM] GiNaC -- a C++ library for symbolic computations branch, c++11, updated. release_1-4-0-504-g82df718 Message-ID: <20151216211749.E55EE220A91@cebix.net> 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, c++11 has been updated via 82df718524319471d3a92fb051329aa8cd529c22 (commit) from 6c946d4c762f5a0d6a3b742f03556dd018d63886 (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 82df718524319471d3a92fb051329aa8cd529c22 Author: Richard Kreckel Date: Wed Dec 16 22:02:25 2015 +0100 Merge some cosmetic patches. This is a collection of some minor optimizations and indentation fixes. ----------------------------------------------------------------------- Summary of changes: INSTALL | 4 +- doc/CodingStyle | 2 +- ginac/color.cpp | 8 +--- ginac/expairseq.cpp | 7 +--- ginac/expairseq.h | 6 +-- ginac/factor.cpp | 85 ++++++++++++++------------------------ ginac/function.cppy | 4 +- ginac/inifcns.cpp | 4 +- ginac/inifcns_trans.cpp | 8 +--- ginac/mul.cpp | 44 ++++++++++---------- ginac/normal.cpp | 74 ++++++++++++++++----------------- ginac/operators.cpp | 16 +++---- ginac/polynomial/collect_vargs.cpp | 2 +- ginac/power.cpp | 53 +++++++++++------------- ginac/pseries.cpp | 19 ++++----- 15 files changed, 149 insertions(+), 187 deletions(-) hooks/post-receive -- GiNaC -- a C++ library for symbolic computations From jrheinlaender at gmx.de Thu Dec 17 18:01:20 2015 From: jrheinlaender at gmx.de (=?UTF-8?Q?Jan_Rheinl=c3=a4nder?=) Date: Thu, 17 Dec 2015 18:01:20 +0100 Subject: [GiNaC-devel] MSVC 18 Message-ID: <5672EA60.9020208@gmx.de> Hi, I successfully compiled GiNaC (and CLN) with MSVC 18.00.31101 (Visual Studio 2013). All the tests passed, but I had to patch two files: check/exam_cra.cpp ginac/polynomial/mod_gcd.cpp Both of these files require #include otherwise there is an error about 'min' not being a member of namespace std. Jan From git at ginac.de Thu Dec 17 23:08:42 2015 From: git at ginac.de (Richard B. Kreckel) Date: Thu, 17 Dec 2015 23:08:42 +0100 (CET) Subject: [GiNaC-devel] [SCM] GiNaC -- a C++ library for symbolic computations branch, master, updated. release_1-4-0-473-ge0a84a3 Message-ID: <20151217220842.9D4E3220BBF@cebix.net> 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 e0a84a395ab1bf84813eea95fde9c8a361dae9bc (commit) via 83b067d5b1a232b56039f227a9445cea3dd3225a (commit) from 2639812c0ba4e1f9620660bbba1f12bf5b865e29 (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 e0a84a395ab1bf84813eea95fde9c8a361dae9bc Author: Richard Kreckel Date: Thu Dec 17 22:57:04 2015 +0100 include for use of std::min(). Thanks to Jan Rheinl??nder for reporting this. Cherry-picked from a56196f3. commit 83b067d5b1a232b56039f227a9445cea3dd3225a Author: Richard Kreckel Date: Thu Dec 17 22:30:13 2015 +0100 [bugfix] Make sure add::eval() collects all numeric terms *correctly*. This fixes a bug introduced with in 2010 with 89d5356b. ----------------------------------------------------------------------- Summary of changes: check/exam_cra.cpp | 1 + check/exam_paranoia.cpp | 20 +++++++++++++++----- ginac/add.cpp | 4 ++-- ginac/polynomial/mod_gcd.cpp | 1 + 4 files changed, 19 insertions(+), 7 deletions(-) hooks/post-receive -- GiNaC -- a C++ library for symbolic computations From git at ginac.de Thu Dec 17 23:10:57 2015 From: git at ginac.de (Richard B. Kreckel) Date: Thu, 17 Dec 2015 23:10:57 +0100 (CET) Subject: [GiNaC-devel] [SCM] GiNaC -- a C++ library for symbolic computations branch, c++11, updated. release_1-4-0-507-ga56196f Message-ID: <20151217221057.9F4EA220BC1@cebix.net> 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, c++11 has been updated via a56196f3830a5a467d79b6d7009598e7f05ba7d3 (commit) via da3cc1d79533680f0722be73abe95aedcac96b72 (commit) via 6eb7dee7ea9e83d3e0599aec9ab7c6084a47b71c (commit) from 82df718524319471d3a92fb051329aa8cd529c22 (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 a56196f3830a5a467d79b6d7009598e7f05ba7d3 Author: Richard Kreckel Date: Thu Dec 17 22:57:04 2015 +0100 include for use of std::min(). Thanks to Jan Rheinl??nder for reporting this. commit da3cc1d79533680f0722be73abe95aedcac96b72 Author: Richard Kreckel Date: Thu Dec 17 22:45:50 2015 +0100 Remove useless code in add::eval(). With commit ae6c004b, we have actually a more rigorous solution for the bug fixed first (and wrongly) on September 23 2010 with commit 89d5356b. This patch removes the now useless code and adds the new regression check from master, just in case. commit 6eb7dee7ea9e83d3e0599aec9ab7c6084a47b71c Author: Richard Kreckel Date: Thu Dec 17 09:32:15 2015 +0100 Add rvalue reference ctors from epvectors for add, mul. ----------------------------------------------------------------------- Summary of changes: check/exam_cra.cpp | 1 + check/exam_paranoia.cpp | 20 +++++++++++++++----- ginac/add.cpp | 33 ++++++++++----------------------- ginac/add.h | 3 ++- ginac/mul.cpp | 7 +++++++ ginac/mul.h | 1 + ginac/polynomial/mod_gcd.cpp | 1 + 7 files changed, 37 insertions(+), 29 deletions(-) hooks/post-receive -- GiNaC -- a C++ library for symbolic computations From git at ginac.de Sun Dec 20 17:54:29 2015 From: git at ginac.de (Richard B. Kreckel) Date: Sun, 20 Dec 2015 17:54:29 +0100 (CET) Subject: [GiNaC-devel] [SCM] GiNaC -- a C++ library for symbolic computations branch, c++11, updated. release_1-4-0-512-g640c898 Message-ID: <20151220165429.B083A220917@cebix.net> 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, c++11 has been updated via 640c8980ed3f00e985ffb4810b3c75a9b8106ba9 (commit) via f8b3c08fd7a5aabe7471c4dfb635d134ee4d8ef3 (commit) via 17cb07800bff4b032976f3ac93ef70f2fc0a85a6 (commit) via 47295e1e73d54bf6cf8953ecc0ce2a848c1fb5b3 (commit) via f4bae27a4390712315e0317fd9e954299341933d (commit) from a56196f3830a5a467d79b6d7009598e7f05ba7d3 (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 640c8980ed3f00e985ffb4810b3c75a9b8106ba9 Author: Richard Kreckel Date: Sun Dec 20 17:50:07 2015 +0100 Hoist typeid(*this) from loops. The compilers don't seem to reliably recognize the invariance of this. commit f8b3c08fd7a5aabe7471c4dfb635d134ee4d8ef3 Author: Richard Kreckel Date: Sun Dec 20 17:30:34 2015 +0100 Remove iter_swap specializations. It's a myth that iter_swap helps the compiler produce better code. Let's just use specialized swap instead. commit 17cb07800bff4b032976f3ac93ef70f2fc0a85a6 Author: Richard Kreckel Date: Sun Dec 20 04:44:01 2015 +0100 Add support for power::info(info_flags::real). (And, while at it, clean up the surrounding code a bit.) commit 47295e1e73d54bf6cf8953ecc0ce2a848c1fb5b3 Author: Richard Kreckel Date: Sun Dec 20 04:36:42 2015 +0100 Remove info_flags::algebraic. It doesn't work, never has, and it is quire unclear how to fix it. commit f4bae27a4390712315e0317fd9e954299341933d Author: Richard Kreckel Date: Fri Dec 18 00:06:31 2015 +0100 Remove expairseq::construct_from_2_ex_via_exvector() member function. This function is much slower than the optimized construct_from_2_ex() member function, which explains why it wasn't used. ----------------------------------------------------------------------- Summary of changes: doc/tutorial/ginac.texi | 2 -- ginac/add.cpp | 9 --------- ginac/ex.h | 14 -------------- ginac/expair.h | 4 ---- ginac/expairseq.cpp | 27 ++++++++++++--------------- ginac/expairseq.h | 1 - ginac/flags.h | 1 - ginac/inifcns.cpp | 1 - ginac/mul.cpp | 7 ------- ginac/numeric.cpp | 2 -- ginac/power.cpp | 13 +++++-------- ginac/utils.h | 5 +++-- 12 files changed, 20 insertions(+), 66 deletions(-) hooks/post-receive -- GiNaC -- a C++ library for symbolic computations From git at ginac.de Wed Dec 23 07:48:11 2015 From: git at ginac.de (Richard B. Kreckel) Date: Wed, 23 Dec 2015 07:48:11 +0100 (CET) Subject: [GiNaC-devel] [SCM] GiNaC -- a C++ library for symbolic computations tag, ginac_1-6-6, created. release_1-4-0-475-g2c39a40 Message-ID: <20151223064811.C0704220B4C@cebix.net> 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 tag, ginac_1-6-6 has been created at 2c39a401375896bc2a9ee99e65f37d590682bfb1 (commit) - Log ----------------------------------------------------------------- commit 2c39a401375896bc2a9ee99e65f37d590682bfb1 Author: Richard Kreckel Date: Sun Dec 20 21:29:55 2015 +0100 Finalize 1.6.6 release. ----------------------------------------------------------------------- hooks/post-receive -- GiNaC -- a C++ library for symbolic computations From git at ginac.de Wed Dec 23 07:48:55 2015 From: git at ginac.de (Richard B. Kreckel) Date: Wed, 23 Dec 2015 07:48:55 +0100 (CET) Subject: [GiNaC-devel] [SCM] GiNaC -- a C++ library for symbolic computations branch, master, updated. release_1-4-0-475-g2c39a40 Message-ID: <20151223064855.C336B220B50@cebix.net> 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 2c39a401375896bc2a9ee99e65f37d590682bfb1 (commit) via 7df5dc0757b89a25b96d9d56a0671ba99f468e40 (commit) from e0a84a395ab1bf84813eea95fde9c8a361dae9bc (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 2c39a401375896bc2a9ee99e65f37d590682bfb1 Author: Richard Kreckel Date: Sun Dec 20 21:29:55 2015 +0100 Finalize 1.6.6 release. commit 7df5dc0757b89a25b96d9d56a0671ba99f468e40 Author: Richard Kreckel Date: Sun Dec 20 17:56:09 2015 +0100 Remove reference to ftpthep.physik.uni-mainz.de. Higgs is down, alas... ----------------------------------------------------------------------- Summary of changes: GiNaC.spec.in | 2 +- INSTALL | 2 +- NEWS | 4 ++++ README | 3 --- doc/tutorial/ginac.texi | 8 ++++---- ginac/version.h | 4 ++-- 6 files changed, 12 insertions(+), 11 deletions(-) hooks/post-receive -- GiNaC -- a C++ library for symbolic computations From git at ginac.de Wed Dec 23 08:45:31 2015 From: git at ginac.de (Richard B. Kreckel) Date: Wed, 23 Dec 2015 08:45:31 +0100 (CET) Subject: [GiNaC-devel] [SCM] GiNaC -- a C++ library for symbolic computations branch, c++11, updated. release_1-4-0-513-g94719f5 Message-ID: <20151223074531.D7942220C2F@cebix.net> 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, c++11 has been updated via 94719f5adbfa69fed0023284811da9d749ddf9f1 (commit) from 640c8980ed3f00e985ffb4810b3c75a9b8106ba9 (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 94719f5adbfa69fed0023284811da9d749ddf9f1 Author: Richard Kreckel Date: Sun Dec 20 17:56:09 2015 +0100 Remove reference to ftpthep.physik.uni-mainz.de. Higgs is down, alas... ----------------------------------------------------------------------- Summary of changes: GiNaC.spec.in | 2 +- INSTALL | 2 +- README | 3 --- doc/tutorial/ginac.texi | 8 ++++---- 4 files changed, 6 insertions(+), 9 deletions(-) hooks/post-receive -- GiNaC -- a C++ library for symbolic computations From kisilv at maths.leeds.ac.uk Thu Dec 24 14:34:53 2015 From: kisilv at maths.leeds.ac.uk (Vladimir V. Kisil) Date: Thu, 24 Dec 2015 13:34:53 +0000 Subject: [GiNaC-devel] Two micro patches Message-ID: <17549.1450964093@math-pc2069.leeds.ac.uk> Dear Richard, It is nice to see that GiNaC received a serious revision. It also inspires some further contributions: I am attaching two small patches. All the best season wishes, Vladimir -- Vladimir V. Kisil http://www.maths.leeds.ac.uk/~kisilv/ Book: Geometry of Mobius Transformations http://goo.gl/EaG2Vu Software: Geometry of cycles http://moebinv.sourceforge.net/ -------------- next part -------------- A non-text attachment was scrubbed... Name: 0001-Clarification-on-symmetries-of-metric-of-clifford-ob.patch Type: text/x-diff Size: 1438 bytes Desc: patch URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 0002-Add-specific-dbgprinttree-method-to-clifford.patch Type: text/x-diff Size: 2154 bytes Desc: patch URL: -------------- next part -------------- From kreckel at in.terlu.de Thu Dec 31 16:33:45 2015 From: kreckel at in.terlu.de (Richard B. Kreckel) Date: Thu, 31 Dec 2015 16:33:45 +0100 Subject: [GiNaC-devel] Release 1.6.6, etc... Message-ID: <56854AD9.6030602@in.terlu.de> Hi! GiNaC release 1.6.6 is out and available. These are the changes: * Fix elusive bug in add::eval(). * Several minor performance enhancements. So far for the master branch... In an attempt to curb down the number of warnings when GiNaC is compiled with a C++11 compiler, I created the c++11 branch. It turns out that the new language revision offers solutions for some of the problems for which awkward workarounds had to be introduced previously. As a result, the code on the c++11 branch has started to diverge from that on the master branch. It is not compatible to C++89 / C++03. I intend to merge the c++11 branch back to the master branch somewhen in 2016 and release that as a new major version. (BTW, GCC 6 is supposed to be released in 2016 and will use C++14 by default.) Until then, it is probably pointless to commit anything than a real bugfix to the master branch (which might then be released as version 1.6.7). Any other patches are very welcome, but they should be based on the c++11 branch, please. Nuff said. Back to hacking... -richard.