X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=ginac%2Fidx.cpp;h=a3f0b843f153fefc8da3be335e5510e9f2d23c1b;hp=9a91e03dc45d5fa0957fd4954e678d58597c1ccb;hb=d023220cece92637c3e55051f127650f2131de44;hpb=d327f3f00c66a79d42855939866047b3e8caa630 diff --git a/ginac/idx.cpp b/ginac/idx.cpp index 9a91e03d..a3f0b843 100644 --- a/ginac/idx.cpp +++ b/ginac/idx.cpp @@ -3,7 +3,7 @@ * Implementation of GiNaC's indices. */ /* - * GiNaC Copyright (C) 1999-2008 Johannes Gutenberg University Mainz, Germany + * GiNaC Copyright (C) 1999-2011 Johannes Gutenberg University Mainz, Germany * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -20,10 +20,6 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#include -#include -#include - #include "idx.h" #include "symbol.h" #include "lst.h" @@ -31,6 +27,11 @@ #include "operators.h" #include "archive.h" #include "utils.h" +#include "hash_seed.h" + +#include +#include +#include namespace GiNaC { @@ -350,8 +351,7 @@ unsigned idx::calchash() const // hash keys. That is, the hash values must not depend on the index // dimensions or other attributes (variance etc.). // The compare_same_type() methods will take care of the rest. - const void* this_tinfo = (const void*)(typeid(*this).name()); - unsigned v = golden_ratio_hash((p_int)this_tinfo); + unsigned v = make_hash_seed(typeid(*this)); v = rotate_left(v); v ^= value.gethash();