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 8f50a038b17fbaa53d97db82171618ad78fd2996..43043a71b3f00bd73a5f5d8e05368647c85fb2c6 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 14f6e2bc887e24130e407bf2b0bd8d6aef3845ef..f3d58a220155d2153ea01b0d927e6d7eea7c31ba 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 e8af3b829a0cc1d691edcd52e756a808f31046d2..3aef9da9262770b2b2e0526ee18ddc991d330ab2 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 0b832c19ef738201a8e32da3ee2c9e348cf808c7..badad0db8d7ec9ff883274ae4eec0d0257b96ff6 100644 (file)
@@ -4,6 +4,9 @@
 #include "vector.h"
 
 typedef int Literal;
+#define LITCAPACITY 4
+#define MERGESIZE 5
+#define MERGETHRESHOLD 2
 
 
 struct LitVector {
index 2fd6c30950291b38628ad15ef88d7431dee76522..7e33c1b26ca8fd307a4235c37891f3dd2fedde00 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 ff3aa3f9f81b16b0ea368af69fbf94c72497e028..842bab806a85ed75a6257bd006b1c7c8cb8f747f 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 fecba882cdccb4fa6c66718925bf55e9f34d17cd..72d4c2b136195c49be2dfc77de923893fe4f393c 100644 (file)
@@ -3,6 +3,9 @@
 #include "classlist.h"
 #include "structs.h"
 
+#define AUTOTUNERFACTOR 0.3
+
+
 class AutoTuner {
 public:
        AutoTuner(uint budget);
index 6803c448c0d3402338fa8865830e026fe39d1e72..3486a9c737eab26ca7b120df730d389857fa8b64 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() {