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("Error: Tuner %s cannot be found ...\n", filename);
37 /*SearchTuner::~SearchTuner() {
38 SetIteratorTunableSetting *iterator = settings.iterator();
39 while (iterator->hasNext()) {
40 TunableSetting *setting = iterator->next();
47 int SerializeTuner::getTunable(TunableParam param, TunableDesc *descriptor) {
48 TunableSetting setting(param);
49 TunableSetting *result = usedSettings.get(&setting);
51 result = settings.get(&setting);
52 if ( result == NULL) {
53 return descriptor->defaultValue;
55 usedSettings.add(result);
57 return result->selectedValue;
60 int SerializeTuner::getVarTunable(VarType vartype1, VarType vartype2, TunableParam param, TunableDesc *descriptor) {
61 TunableSetting setting(vartype1, vartype2, param);
62 TunableSetting *result = usedSettings.get(&setting);
64 result = settings.get(&setting);
65 if ( result == NULL) {
66 return descriptor->defaultValue;
68 usedSettings.add(result);
70 return result->selectedValue;