memoize timeouts
[satune.git] / src / Tuner / multituner.h
index 1e878eee0c2399a1686c1fb70b39a32a6680cccb..87e8557be82e70f84ded95a570c340196fe8bd1a 100644 (file)
@@ -22,6 +22,7 @@ private:
 class TunerRecord {
 public:
        TunerRecord(SearchTuner *_tuner) : tuner(_tuner), tunernumber(-1) {}
+       TunerRecord(SearchTuner *_tuner, int _tunernumber) : tuner(_tuner), tunernumber(_tunernumber) {}
        SearchTuner *getTuner() {return tuner;}
        TunerRecord *changeTuner(SearchTuner *_newtuner);
        void updateTuner(SearchTuner *_newtuner) {tuner = _newtuner;}
@@ -47,6 +48,7 @@ public:
        void tuneK();
        void tuneComp();
        void printData();
+       void findBestThreeTuners();
        CMEMALLOC;
 protected:
        long long evaluate(Problem *problem, TunerRecord *tuner);
@@ -55,7 +57,6 @@ protected:
        void mapProblemsToTuners(Vector<TunerRecord *> *tunerV);
        void improveTuners(Vector<TunerRecord *> *tunerV);
        TunerRecord *tune(TunerRecord *tuner);
-
        Vector<TunerRecord *> allTuners;
        Vector<Problem *> problems;
        Vector<TunerRecord *> tuners;
@@ -64,4 +65,10 @@ protected:
        uint timeout;
        int execnum;
 };
+
+inline long long min(long long num1, long long num2, long long num3) {
+       return num1 < num2 && num1 < num3 ? num1 :
+                                num2 < num3 ? num2 : num3;
+}
+
 #endif