Adding more functions to C API
[satune.git] / src / Collections / structs.cc
index 7bff7ebae8347b7f6c59c302b0007cb61ecbe417..0744a353878671dfdafe5212c0885077509f8d23 100644 (file)
@@ -7,7 +7,7 @@
 #include "orderelement.h"
 #include "structs.h"
 #include "decomposeorderresolver.h"
-#include "tunabledependent.h"
+#include "searchtuner.h"
 
 #define HASHNEXT(hash, newval) {hash += newval; hash += hash << 10; hash ^= hash >> 6;}
 #define HASHFINAL(hash) {hash += hash << 3; hash ^= hash >> 11; hash += hash << 15;}
@@ -30,14 +30,6 @@ bool table_entry_equals(TableEntry *key1, TableEntry *key2) {
        return true;
 }
 
-unsigned int tunable_dependent_hash_function(TunableDependent *This){
-       return (uint)This->dependent;
-}
-
-bool tunable_dependent_equals(TunableDependent *key1, TunableDependent *key2){
-       return key1->dependent == key2->dependent;
-}
-
 unsigned int order_node_hash_function(OrderNodeKey *This) {
        return (uint) This->id;
 }
@@ -90,3 +82,14 @@ bool doredge_equals(DOREdge *key1, DOREdge *key2) {
        return key1->newfirst == key2->newfirst &&
                                 key1->newsecond == key2->newsecond;
 }
+
+unsigned int tunableSettingHash(TunableSetting *setting) {
+       return setting->hasVar ^ setting->type1 ^ setting->type2 ^ setting->param;
+}
+
+bool tunableSettingEquals(TunableSetting *setting1, TunableSetting *setting2) {
+       return setting1->hasVar == setting2->hasVar &&
+                                setting1->type1 == setting2->type1 &&
+                                setting1->type2 == setting2->type2 &&
+                                setting1->param == setting2->param;
+}