#include "classlist.h"
#include "tunable.h"
#include "structs.h"
+#include <ostream>
+using namespace std;
+#define TUNEFILE "tune.conf"
class TunableSetting {
public:
TunableSetting(VarType type, TunableParam param);
+ TunableSetting(VarType type1, VarType type2, TunableParam param);
TunableSetting(TunableParam param);
TunableSetting(TunableSetting *ts);
void setDecision(int _low, int _high, int _default, int _selection);
void print();
+ friend std ::ostream &operator<< (std::ostream &stream, const TunableSetting &matrix);
CMEMALLOC;
private:
bool hasVar;
- VarType type;
+ VarType type1;
+ VarType type2;
TunableParam param;
int lowValue;
int highValue;
~SearchTuner();
int getTunable(TunableParam param, TunableDesc *descriptor);
int getVarTunable(VarType vartype, TunableParam param, TunableDesc *descriptor);
+ int getVarTunable(VarType vartype1, VarType vartype2, TunableParam param, TunableDesc *descriptor);
SearchTuner *copyUsed();
void randomMutate();
uint getSize() { return usedSettings.getSize();}
void print();
void printUsed();
+ void serialize();
CMEMALLOC;
private:
HashsetTunableSetting usedSettings;
/** Settings contains all settings. */
HashsetTunableSetting settings;
+#ifdef STATICENCGEN
+ bool graphEncoding;
+ ElementEncodingType naiveEncoding;
+public:
+ int nextStaticTuner();
+#endif
};
+
+
#endif