[GiNaC-devel] [SCM] GiNaC -- a C++ library for symbolic computations branch, ginac_1-5, updated. release_1-4-0-187-g0256e2f
Jens Vollinga
git at ginac.de
Wed Feb 25 12:42:31 CET 2009
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, ginac_1-5 has been updated
via 0256e2fe48a0ecce79c37ac209620ca852b7f11a (commit)
via 75b1f2213aa6dc0e563b8ad6202522a5f40cb5be (commit)
from cbba7a5eb9d33003c081a8017dec7da3aa990571 (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 0256e2fe48a0ecce79c37ac209620ca852b7f11a
Author: Alexei Sheplyakov <varg at metalica.kh.ua>
Date: Mon Feb 23 14:08:42 2009 +0200
calchash(): work around broken RTTI.
Due to the strange (although permitted by the standard) behaviour of C++
RTTI on woe32 calchash() returns different hash values for equal objects.
As a result automatic evaluation gets spectacularly broken:
examining clifford objects.....({1+t,2+x,3+y,4+z}) - ({1+t,2+x,3+y,4+z}) erroneously returned -{1+t,2+x,3+y,4+z}+{1+t,2+x,3+y,4+z} instead of 0
({1+t,2+x,3+y,4+z}) - ({1+t,2+x,3+y,4+z}) erroneously returned -{1+t,2+x,3+y,4+z}+{1+t,2+x,3+y,4+z} instead of 0
.({1+t,2+x,3+y,4+z}) - ({1+t,2+x,3+y,4+z}) erroneously returned -{1+t,2+x,3+y,4+z}+{1+t,2+x,3+y,4+z} instead of 0
({1+t,2+x,3+y,4+z}) - ({1+t,2+x,3+y,4+z}) erroneously returned {1+t,2+x,3+y,4+z}-{1+t,2+x,3+y,4+z} instead of 0
[skipped]
.......FAIL: exam_clifford.exe
This patch works around `features' of woe32 RTTI, so calchash() works
properly.
commit 75b1f2213aa6dc0e563b8ad6202522a5f40cb5be
Author: Alexei Sheplyakov <varg at metalica.kh.ua>
Date: Mon Feb 23 14:03:16 2009 +0200
Fix compilation failure due to (template) operator- defined in factor.cpp
GiNaC 1.5.0 fails to compile with g++ 3.4.
The fix is simple: declare (and define) operator- (and operator+) only
for (univariate) polynomials.
-----------------------------------------------------------------------
Summary of changes:
ginac/Makefile.am | 2 +-
ginac/basic.cpp | 4 +-
ginac/crc32.h | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++
ginac/expairseq.cpp | 4 +-
ginac/factor.cpp | 32 ++++++++++++++++++++-
ginac/function.pl | 4 +-
ginac/hash_seed.h | 45 ++++++++++++++++++++++++++++++
ginac/idx.cpp | 4 +-
ginac/relational.cpp | 4 +-
ginac/symbol.cpp | 5 ++-
ginac/symmetry.cpp | 4 +-
ginac/wildcard.cpp | 5 ++-
12 files changed, 168 insertions(+), 19 deletions(-)
create mode 100644 ginac/crc32.h
create mode 100644 ginac/hash_seed.h
hooks/post-receive
--
GiNaC -- a C++ library for symbolic computations
More information about the GiNaC-devel
mailing list