#include "operators.h"
#include "archive.h"
#include "utils.h"
+#include "hash_seed.h"
#include <functional>
#include <iostream>
unsigned symmetry::calchash() const
{
- 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));
if (type == none) {
v = rotate_left(v);
- v ^= *(indices.begin());
+ if (!indices.empty())
+ v ^= *(indices.begin());
} else {
for (exvector::const_iterator i=children.begin(); i!=children.end(); ++i)
{