Refactoring ...
authorHamed Gorjiara <hgorjiar@uci.edu>
Wed, 12 Sep 2018 18:32:08 +0000 (11:32 -0700)
committerHamed Gorjiara <hgorjiar@uci.edu>
Wed, 12 Sep 2018 18:32:08 +0000 (11:32 -0700)
src/ASTAnalyses/Encoding/encodinggraph.cc
src/ASTAnalyses/Encoding/encodinggraph.h
src/Backend/cnfexpr.cc
src/Backend/cnfexpr.h
src/Encoders/naiveencoder.cc
src/Tuner/autotuner.cc
src/Tuner/autotuner.h
src/Tuner/searchtuner.cc

index 8f50a03..43043a7 100644 (file)
@@ -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);
                }
index 14f6e2b..f3d58a2 100644 (file)
@@ -4,6 +4,9 @@
 #include "structs.h"
 #include "graphstructs.h"
 
+#define FUDGEFACTOR 1.2 
+#define CONVERSIONFACTOR  0.5
+
 class EncodingGraph {
 public:
        EncodingGraph(CSolver *solver);
index e8af3b8..3aef9da 100644 (file)
@@ -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));
index 0b832c1..badad0d 100644 (file)
@@ -4,6 +4,9 @@
 #include "vector.h"
 
 typedef int Literal;
+#define LITCAPACITY 4
+#define MERGESIZE 5
+#define MERGETHRESHOLD 2
 
 
 struct LitVector {
index 2fd6c30..7e33c1b 100644 (file)
@@ -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();
        }
index ff3aa3f..842bab8 100644 (file)
@@ -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);
index fecba88..72d4c2b 100644 (file)
@@ -3,6 +3,9 @@
 #include "classlist.h"
 #include "structs.h"
 
+#define AUTOTUNERFACTOR 0.3
+
+
 class AutoTuner {
 public:
        AutoTuner(uint budget);
index 6803c44..3486a9c 100644 (file)
@@ -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() {