From: Hamed Gorjiara Date: Fri, 22 Nov 2019 02:51:04 +0000 (-0800) Subject: Bug fix: consider the cases when the tuner gets timeout X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=cb7331d3834636ca4af0357d272d082c047ec940;p=satune.git Bug fix: consider the cases when the tuner gets timeout --- diff --git a/src/Tuner/basictuner.cc b/src/Tuner/basictuner.cc index 30d729b..f3a00ea 100644 --- a/src/Tuner/basictuner.cc +++ b/src/Tuner/basictuner.cc @@ -179,7 +179,9 @@ long long BasicTuner::evaluate(Problem *problem, TunerRecord *tuner) { myfile >> sat; myfile.close(); } - updateTimeout(problem, metric); + if(sat != IS_INDETER){ + updateTimeout(problem, metric); + } snprintf(buffer, sizeof(buffer), "tuner%uused", execnum); tuner->getTuner()->addUsed(buffer); } else if (status == 124 << 8) {// timeout happens ... @@ -192,7 +194,8 @@ long long BasicTuner::evaluate(Problem *problem, TunerRecord *tuner) { if (problem->getResult() == TUNERUNSETVALUE && sat != IS_INDETER) { problem->setResult( sat ); } else if (problem->getResult() != sat && sat != IS_INDETER) { - model_print("******** Result has changed ********\n"); + model_print("******** Result has changed ******** Found a bug!!\n"); + ASSERT(0) } if (sat == IS_INDETER && metric != -1) {//The case when we have a timeout metric = -1; diff --git a/src/Tuner/comptuner.cc b/src/Tuner/comptuner.cc index d630f2d..b8b574c 100644 --- a/src/Tuner/comptuner.cc +++ b/src/Tuner/comptuner.cc @@ -31,11 +31,11 @@ void CompTuner::findBestTwoTuners() { for (uint l = 0; l < problems.getSize(); l++) { Problem *problem = problems.get(l); long long time1 = tuner1->getTime(problem); - if(time1 == -1){ + if(time1 == -1 || time2 == -2){ time1=LLONG_MAX; } long long time2 = tuner2->getTime(problem); - if(time2 == -1){ + if(time2 == -1 || time2 == -2){ time2 = LLONG_MAX; } mintimes[l] = pow(min(time1,time2), (double)1 / problems.getSize());