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);
22 friend unsigned int tunableSettingHash(TunableSetting *setting);
23 friend bool tunableSettingEquals(TunableSetting *setting1, TunableSetting *setting2);
24 friend class SearchTuner;
27 unsigned int tunableSettingHash(TunableSetting *setting);
28 bool tunableSettingEquals(TunableSetting *setting1, TunableSetting *setting2);
30 typedef HashSet<TunableSetting *, uintptr_t, 4, tunableSettingHash, tunableSettingEquals> HashSetTunableSetting;
31 typedef HSIterator<TunableSetting *, uintptr_t, 4, tunableSettingHash, tunableSettingEquals> HSIteratorTunableSetting;
33 class SearchTuner : public Tuner {
37 int getTunable(TunableParam param, TunableDesc *descriptor);
38 int getVarTunable(VarType vartype, TunableParam param, TunableDesc *descriptor);
39 SearchTuner * copyUsed();
41 uint getSize() { return usedSettings.getSize();}
45 /** Used Settings keeps track of settings that were actually used by
46 the example. Mutating settings may cause the Constraint Compiler
47 not to query other settings.*/
48 HashSetTunableSetting usedSettings;
49 /** Settings contains all settings. */
50 HashSetTunableSetting settings;