1 #include "serializetuner.h"
6 SerializeTuner::SerializeTuner(const char *filename) {
8 myfile.open (filename, ios::in);
9 if (myfile.is_open()) {
18 while (myfile >> hasVar >> type1 >> type2 >> param >> lowValue >> highValue >> defaultValue >> selectedValue) {
19 TunableSetting *setting;
22 setting = new TunableSetting(type1, type2, param);
24 setting = new TunableSetting(param);
26 setting->setDecision(lowValue, highValue, defaultValue, selectedValue);
27 settings.add(setting);
28 usedSettings.add(setting);
32 model_print("Warning: Tuner %s couldn't be loaded ... Using default tuner instead ....\n", filename);
36 /*SearchTuner::~SearchTuner() {
37 SetIteratorTunableSetting *iterator = settings.iterator();
38 while (iterator->hasNext()) {
39 TunableSetting *setting = iterator->next();
46 int SerializeTuner::getTunable(TunableParam param, TunableDesc *descriptor) {
47 TunableSetting setting(param);
48 TunableSetting *result = usedSettings.get(&setting);
50 result = settings.get(&setting);
51 if ( result == NULL) {
52 return descriptor->defaultValue;
54 usedSettings.add(result);
56 return result->selectedValue;
59 int SerializeTuner::getVarTunable(VarType vartype1, VarType vartype2, TunableParam param, TunableDesc *descriptor) {
60 TunableSetting setting(vartype1, vartype2, param);
61 TunableSetting *result = usedSettings.get(&setting);
63 result = settings.get(&setting);
64 if ( result == NULL) {
65 return descriptor->defaultValue;
67 usedSettings.add(result);
69 return result->selectedValue;