[GiNaC-devel] [SCM] GiNaC -- a C++ library for symbolic computations branch, master, updated. release_1-4-0-187-gee1ec9d
Jens Vollinga
git at ginac.de
Wed Feb 25 12:40:42 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, master has been updated
via ee1ec9db30b446d2d6348df2ce758ed2ff62a310 (commit)
via 4cf514ec7a3d8dbb447eaa46747f31a9fc9cf159 (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 ee1ec9db30b446d2d6348df2ce758ed2ff62a310
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 4cf514ec7a3d8dbb447eaa46747f31a9fc9cf159
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