edits
[satune.git] / src / Collections / structs.cc
index 660005c787f58497e49de41d0bd0389aaf22a353..09dc41922a2f9d6511b4288b1bdeaeaf7acac519 100644 (file)
@@ -6,6 +6,7 @@
 #include "ordergraph.h"
 #include "orderelement.h"
 #include "structs.h"
+#include "decomposeorderresolver.h"
 
 unsigned int table_entry_hash_function(TableEntry *This) {
        unsigned int h = 0;
@@ -42,11 +43,11 @@ bool order_edge_equals(OrderEdge *key1, OrderEdge *key2) {
 }
 
 unsigned int order_element_hash_function(OrderElement *This) {
-       return (uint)This->item;
+       return This->getHash();
 }
 
 bool order_element_equals(OrderElement *key1, OrderElement *key2) {
-       return key1->item == key2->item;
+       return key1->equals(key2);
 }
 
 unsigned int order_pair_hash_function(OrderPair *This) {
@@ -57,11 +58,11 @@ bool order_pair_equals(OrderPair *key1, OrderPair *key2) {
        return key1->first == key2->first && key1->second == key2->second;
 }
 
-unsigned int order_hash_function(Order *This) {
-       return (uint) This;
+unsigned int doredge_hash_function(DOREdge *key) {
+       return (uint) (key->newfirst << 2) ^ key->newsecond;
 }
 
-bool order_pair_equals(Order *key1, Order *key2) {
-       return key1==key2;
+bool doredge_equals(DOREdge *key1, DOREdge *key2) {
+       return key1->newfirst == key2->newfirst &&
+               key1->newsecond == key2->newsecond;
 }
-