* 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
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include <iostream>
-#include <sstream>
-#include <stdexcept>
-
#include "idx.h"
#include "symbol.h"
#include "lst.h"
#include "operators.h"
#include "archive.h"
#include "utils.h"
+#include "hash_seed.h"
+
+#include <iostream>
+#include <sstream>
+#include <stdexcept>
namespace GiNaC {
// 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();