#include "ordergraph.h"
#include "orderelement.h"
#include "structs.h"
+#include "decomposeorderresolver.h"
unsigned int table_entry_hash_function(TableEntry *This) {
unsigned int h = 0;
return key1->sink == key2->sink && key1->source == key2->source;
}
-unsigned int order_element_hash_function(OrderElement* This) {
- return (uint)This->item;
+unsigned int order_element_hash_function(OrderElement *This) {
+ return This->getHash();
}
-bool order_element_equals(OrderElement* key1, OrderElement* key2) {
- return key1->item == key2->item;
+bool order_element_equals(OrderElement *key1, OrderElement *key2) {
+ return key1->equals(key2);
}
unsigned int order_pair_hash_function(OrderPair *This) {
return key1->first == key2->first && key1->second == key2->second;
}
+unsigned int doredge_hash_function(DOREdge *key) {
+ return (uint) (key->newfirst << 2) ^ key->newsecond;
+}
+
+bool doredge_equals(DOREdge *key1, DOREdge *key2) {
+ return key1->newfirst == key2->newfirst &&
+ key1->newsecond == key2->newsecond;
+}