X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=ginac%2Fsymbol.cpp;h=a736088903872dd854dfe55c34020a08a6aed1ea;hp=cb33de7f964342699e2cc017bbdfbc181c5a2c76;hb=ee1ec9db30b446d2d6348df2ce758ed2ff62a310;hpb=4cf514ec7a3d8dbb447eaa46747f31a9fc9cf159 diff --git a/ginac/symbol.cpp b/ginac/symbol.cpp index cb33de7f..a7360889 100644 --- a/ginac/symbol.cpp +++ b/ginac/symbol.cpp @@ -25,6 +25,7 @@ #include "archive.h" #include "tostring.h" #include "utils.h" +#include "hash_seed.h" #include "inifcns.h" #include @@ -253,8 +254,8 @@ bool symbol::is_equal_same_type(const basic & other) const unsigned symbol::calchash() const { - const void* this_tinfo = (const void*)typeid(*this).name(); - hashvalue = golden_ratio_hash((p_int)this_tinfo ^ serial); + unsigned seed = make_hash_seed(typeid(*this)); + hashvalue = golden_ratio_hash(seed ^ serial); setflag(status_flags::hash_calculated); return hashvalue; }