Bug fix for mustHaveValue tuning parameter
[satune.git] / src / Tuner / tunable.h
index 660c77db7ab0e64162b510036aaceb0f88c64235..c2a70b0ea21b8b4d900562ffbeb5b935dd379afa 100644 (file)
@@ -7,6 +7,7 @@ class Tuner {
 public:
        virtual int getTunable(TunableParam param, TunableDesc *descriptor) {ASSERT(0); return 0;}
        virtual int getVarTunable(VarType vartype, TunableParam param, TunableDesc *descriptor) {ASSERT(0); return 0;}
+       virtual int getVarTunable(VarType vartype1, VarType vartype2, TunableParam param, TunableDesc *descriptor) {ASSERT(0); return 0;}
        virtual ~Tuner() {}
        CMEMALLOC;
 };
@@ -16,6 +17,7 @@ public:
        DefaultTuner();
        int getTunable(TunableParam param, TunableDesc *descriptor);
        int getVarTunable(VarType vartype, TunableParam param, TunableDesc *descriptor);
+       int getVarTunable(VarType vartype1, VarType vartype2, TunableParam param, TunableDesc *descriptor);
        CMEMALLOC;
 };
 
@@ -36,7 +38,14 @@ public:
 
 static TunableDesc onoff(0, 1, 1);
 static TunableDesc offon(0, 1, 0);
+static TunableDesc proxyparameter(1, 5, 2);
+static TunableDesc mustValueBinaryIndex(5, 9, 8);
+static TunableDesc NodeEncodingDesc(ELEM_UNASSIGNED, BINARYINDEX, ELEM_UNASSIGNED);
+static TunableDesc NaiveEncodingDesc(ONEHOT, BINARYINDEX, ONEHOT);
 
-enum Tunables {DECOMPOSEORDER, MUSTREACHGLOBAL, MUSTREACHLOCAL, MUSTREACHPRUNE, OPTIMIZEORDERSTRUCTURE, ORDERINTEGERENCODING, PREPROCESS};
+enum Tunables {DECOMPOSEORDER, MUSTREACHGLOBAL, MUSTREACHLOCAL, MUSTREACHPRUNE, OPTIMIZEORDERSTRUCTURE, ORDERINTEGERENCODING, PREPROCESS, NODEENCODING, EDGEENCODING, MUSTEDGEPRUNE, ELEMENTOPT, 
+        ENCODINGGRAPHOPT, ELEMENTOPTSETS, PROXYVARIABLE, MUSTVALUE, NAIVEENCODER};
 typedef enum Tunables Tunables;
+
+const char *tunableParameterToString(Tunables tunable);
 #endif