More code
[satune.git] / src / Tuner / searchtuner.h
index 862faf690c45ad6b1f29cfd4d14dce95638b876f..1464849e520f2b905a1627071af6760f3f7ea23c 100644 (file)
@@ -5,16 +5,18 @@
 #include "structs.h"
 
 class TunableSetting {
- public:
-       TunableSetting(VarType type, TunableParam param);       
+public:
+       TunableSetting(VarType type, TunableParam param);
+       TunableSetting(VarType type1, VarType type2, TunableParam param);
        TunableSetting(TunableParam param);
-       TunableSetting(TunableSetting * ts);
+       TunableSetting(TunableSetting *ts);
        void setDecision(int _low, int _high, int _default, int _selection);
        void print();
        CMEMALLOC;
- private:
+private:
        bool hasVar;
-       VarType type;
+       VarType type1;
+       VarType type2;
        TunableParam param;
        int lowValue;
        int highValue;
@@ -32,22 +34,23 @@ typedef Hashset<TunableSetting *, uintptr_t, 4, tunableSettingHash, tunableSetti
 typedef SetIterator<TunableSetting *, uintptr_t, 4, tunableSettingHash, tunableSettingEquals> SetIteratorTunableSetting;
 
 class SearchTuner : public Tuner {
- public:
+public:
        SearchTuner();
        ~SearchTuner();
        int getTunable(TunableParam param, TunableDesc *descriptor);
        int getVarTunable(VarType vartype, TunableParam param, TunableDesc *descriptor);
-       SearchTuner * copyUsed();
+       int getVarTunable(VarType vartype1, VarType vartype2, TunableParam param, TunableDesc *descriptor);
+       SearchTuner *copyUsed();
        void randomMutate();
        uint getSize() { return usedSettings.getSize();}
        void print();
        void printUsed();
 
        CMEMALLOC;
- private:
+private:
        /** Used Settings keeps track of settings that were actually used by
-                the example. Mutating settings may cause the Constraint Compiler
-                not to query other settings.*/
+          the example. Mutating settings may cause the Constraint Compiler
+          not to query other settings.*/
        HashsetTunableSetting usedSettings;
        /** Settings contains all settings. */
        HashsetTunableSetting settings;