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=0256e2fe48a0ecce79c37ac209620ca852b7f11a;hpb=75b1f2213aa6dc0e563b8ad6202522a5f40cb5be 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; }