[SCM] GiNaC -- a C++ library for symbolic computations branch, c++11, updated. release_1-4-0-503-g6c946d4
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 <kreckel@ginac.de> 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 <kreckel@ginac.de> 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
participants (1)
-
git@ginac.de