9 TunableSetting(VarType type, TunableParam param);
10 TunableSetting(TunableParam param);
11 TunableSetting(TunableSetting * ts);
12 void setDecision(int _low, int _high, int _default, int _selection);
23 friend unsigned int tunableSettingHash(TunableSetting *setting);
24 friend bool tunableSettingEquals(TunableSetting *setting1, TunableSetting *setting2);
25 friend class SearchTuner;
28 unsigned int tunableSettingHash(TunableSetting *setting);
29 bool tunableSettingEquals(TunableSetting *setting1, TunableSetting *setting2);
31 typedef Hashset<TunableSetting *, uintptr_t, 4, tunableSettingHash, tunableSettingEquals> HashsetTunableSetting;
32 typedef SetIterator<TunableSetting *, uintptr_t, 4, tunableSettingHash, tunableSettingEquals> SetIteratorTunableSetting;
34 class SearchTuner : public Tuner {
38 int getTunable(TunableParam param, TunableDesc *descriptor);
39 int getVarTunable(VarType vartype, TunableParam param, TunableDesc *descriptor);
40 SearchTuner * copyUsed();
42 uint getSize() { return usedSettings.getSize();}
48 /** Used Settings keeps track of settings that were actually used by
49 the example. Mutating settings may cause the Constraint Compiler
50 not to query other settings.*/
51 HashsetTunableSetting usedSettings;
52 /** Settings contains all settings. */
53 HashsetTunableSetting settings;