X-Git-Url: http://plrg.eecs.uci.edu/git/?p=satune.git;a=blobdiff_plain;f=src%2FTuner%2Fbasictuner.h;h=14ab7d80af916b069ff4b0bfba3a2302f8ad6fc0;hp=83d11964578f9881cf68fe3b302618514ed0dc8a;hb=277157ed17fd19fe51ae9ed82921c8f371d6ccf3;hpb=ec4122e6d43e951feb8b344bf3511a50e08a3615;ds=sidebyside diff --git a/src/Tuner/basictuner.h b/src/Tuner/basictuner.h index 83d1196..14ab7d8 100644 --- a/src/Tuner/basictuner.h +++ b/src/Tuner/basictuner.h @@ -42,8 +42,8 @@ private: class TunerRecord { public: - TunerRecord(SearchTuner *_tuner) : tuner(_tuner), tunernumber(-1) {} - TunerRecord(SearchTuner *_tuner, int _tunernumber) : tuner(_tuner), tunernumber(_tunernumber) {} + TunerRecord(SearchTuner *_tuner) : tuner(_tuner), tunernumber(-1), isduplicate(false) {} + TunerRecord(SearchTuner *_tuner, int _tunernumber) : tuner(_tuner), tunernumber(_tunernumber), isduplicate(false) {} SearchTuner *getTuner() {return tuner;} void inline addProblem(Problem * problem){problems.push(problem);} TunerRecord *changeTuner(SearchTuner *_newtuner); @@ -53,6 +53,8 @@ public: inline void setTunerNumber(int numb){tunernumber = numb;} inline int getTunerNumber(){return tunernumber;} inline uint problemsSize() {return problems.getSize();} + inline void setDuplicate(bool _duplicate) { isduplicate = _duplicate;} + inline bool isDuplicate() {return isduplicate;} inline Problem *getProblem(uint index){return problems.get(index);} void print(); void printProblemsInfo(); @@ -63,6 +65,7 @@ private: Hashtable timetaken; int tunernumber; friend void clearVector(Vector *tunerV); + bool isduplicate; }; class BasicTuner { @@ -82,8 +85,8 @@ protected: * @param newTuner * @return */ - bool subTunerExist(SearchTuner *newTuner); - bool tunerExists(SearchTuner *tunerRec); + int subTunerIndex(SearchTuner *newTuner); + bool tunerExists(TunerRecord *tunerRec); SearchTuner *mutateTuner(SearchTuner *oldTuner, uint k); void updateTimeout(Problem *problem, long long metric); Vector allTuners;