From ca3ae4aa26a9e1ae3377645c5e93155d2a5df905 Mon Sep 17 00:00:00 2001 From: Hamed Gorjiara Date: Wed, 12 Sep 2018 11:32:08 -0700 Subject: [PATCH] Refactoring ... --- src/ASTAnalyses/Encoding/encodinggraph.cc | 6 +++--- src/ASTAnalyses/Encoding/encodinggraph.h | 3 +++ src/Backend/cnfexpr.cc | 4 +--- src/Backend/cnfexpr.h | 3 +++ src/Encoders/naiveencoder.cc | 3 ++- src/Tuner/autotuner.cc | 3 +-- src/Tuner/autotuner.h | 3 +++ src/Tuner/searchtuner.cc | 3 +++ 8 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/ASTAnalyses/Encoding/encodinggraph.cc b/src/ASTAnalyses/Encoding/encodinggraph.cc index 8f50a03..43043a7 100644 --- a/src/ASTAnalyses/Encoding/encodinggraph.cc +++ b/src/ASTAnalyses/Encoding/encodinggraph.cc @@ -295,7 +295,7 @@ void EncodingGraph::processPredicate(BooleanPredicate *b) { } uint convertSize(uint cost) { - cost = 1.2 * cost;// fudge factor + cost = FUDGEFACTOR * cost;// fudge factor return NEXTPOW2(cost); } @@ -357,8 +357,8 @@ void EncodingGraph::decideEdges() { totalCost = (newSize - leftSize) * leftGraph->numElements + (newSize - rightSize) * rightGraph->numElements; } - double conversionfactor = 0.5; - if ((totalCost * conversionfactor) < eeValue) { + + if ((totalCost * CONVERSIONFACTOR) < eeValue) { //add the edge mergeNodes(left, right); } diff --git a/src/ASTAnalyses/Encoding/encodinggraph.h b/src/ASTAnalyses/Encoding/encodinggraph.h index 14f6e2b..f3d58a2 100644 --- a/src/ASTAnalyses/Encoding/encodinggraph.h +++ b/src/ASTAnalyses/Encoding/encodinggraph.h @@ -4,6 +4,9 @@ #include "structs.h" #include "graphstructs.h" +#define FUDGEFACTOR 1.2 +#define CONVERSIONFACTOR 0.5 + class EncodingGraph { public: EncodingGraph(CSolver *solver); diff --git a/src/Backend/cnfexpr.cc b/src/Backend/cnfexpr.cc index e8af3b8..3aef9da 100644 --- a/src/Backend/cnfexpr.cc +++ b/src/Backend/cnfexpr.cc @@ -36,8 +36,6 @@ C port of CNF SAT Conversion Copyright Brian Demsky 2017. */ -#define LITCAPACITY 4 -#define MERGESIZE 5 VectorImpl(LitVector, LitVector *, 4) @@ -289,7 +287,7 @@ void disjoinCNFLit(CNFExpr *This, Literal l) { This->litSize = litSize; } -#define MERGETHRESHOLD 2 + LitVector *mergeLitVectors(LitVector *This, LitVector *expr) { uint maxsize = This->size + expr->size + MERGETHRESHOLD; LitVector *merged = (LitVector *)ourmalloc(sizeof(LitVector)); diff --git a/src/Backend/cnfexpr.h b/src/Backend/cnfexpr.h index 0b832c1..badad0d 100644 --- a/src/Backend/cnfexpr.h +++ b/src/Backend/cnfexpr.h @@ -4,6 +4,9 @@ #include "vector.h" typedef int Literal; +#define LITCAPACITY 4 +#define MERGESIZE 5 +#define MERGETHRESHOLD 2 struct LitVector { diff --git a/src/Encoders/naiveencoder.cc b/src/Encoders/naiveencoder.cc index 2fd6c30..7e33c1b 100644 --- a/src/Encoders/naiveencoder.cc +++ b/src/Encoders/naiveencoder.cc @@ -65,8 +65,9 @@ void naiveEncodingPredicate(BooleanPredicate *This) { void naiveEncodingElement(Element *This) { ElementEncoding *encoding = This->getElementEncoding(); if (encoding->getElementEncodingType() == ELEM_UNASSIGNED) { - if(This->type != ELEMCONST) + if(This->type != ELEMCONST){ model_print("INFO: naive encoder is making the decision about element %p....\n", This); + } encoding->setElementEncodingType(BINARYINDEX); encoding->encodingArrayInitialization(); } diff --git a/src/Tuner/autotuner.cc b/src/Tuner/autotuner.cc index ff3aa3f..842bab8 100644 --- a/src/Tuner/autotuner.cc +++ b/src/Tuner/autotuner.cc @@ -51,8 +51,7 @@ double AutoTuner::evaluateAll(SearchTuner *tuner) { SearchTuner *AutoTuner::mutateTuner(SearchTuner *oldTuner, uint k) { SearchTuner *newTuner = oldTuner->copyUsed(); uint numSettings = oldTuner->getSize(); - double factor = 0.3;//Adjust this factor... - uint settingsToMutate = (uint)(factor * (((double)numSettings) * (budget - k)) / (budget)); + uint settingsToMutate = (uint)(AUTOTUNERFACTOR * (((double)numSettings) * (budget - k)) / (budget)); if (settingsToMutate < 1) settingsToMutate = 1; model_print("Mutating %u settings\n", settingsToMutate); diff --git a/src/Tuner/autotuner.h b/src/Tuner/autotuner.h index fecba88..72d4c2b 100644 --- a/src/Tuner/autotuner.h +++ b/src/Tuner/autotuner.h @@ -3,6 +3,9 @@ #include "classlist.h" #include "structs.h" +#define AUTOTUNERFACTOR 0.3 + + class AutoTuner { public: AutoTuner(uint budget); diff --git a/src/Tuner/searchtuner.cc b/src/Tuner/searchtuner.cc index 6803c44..3486a9c 100644 --- a/src/Tuner/searchtuner.cc +++ b/src/Tuner/searchtuner.cc @@ -163,6 +163,9 @@ void SearchTuner::randomMutate() { randomSetting->selectedValue = randomchoice; else randomSetting->selectedValue = randomchoice + 1; + model_print("&&&&&&&&Mutating&&&&&&&\n"); + randomSetting->print(); + model_print("&&&&&&&&&&&&&&&&&&&&&&&\n"); } void SearchTuner::print() { -- 2.34.1