From: Hamed Date: Tue, 19 Sep 2017 23:39:05 +0000 (-0700) Subject: merge to branch master X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=cac96bb8e95553aa23fe1f32744a8ed96f811103;p=satune.git merge to branch master --- cac96bb8e95553aa23fe1f32744a8ed96f811103 diff --cc src/ASTAnalyses/Encoding/encodinggraph.cc index 60437f5,08db96d..75a98b1 --- a/src/ASTAnalyses/Encoding/encodinggraph.cc +++ b/src/ASTAnalyses/Encoding/encodinggraph.cc @@@ -6,7 -6,9 +6,10 @@@ #include "set.h" #include "csolver.h" #include "tunable.h" + #include "qsort.h" + #include "subgraph.h" + #include "elementencoding.h" +#include "boolean.h" EncodingGraph::EncodingGraph(CSolver * _solver) : solver(_solver) { @@@ -29,6 -42,35 +43,35 @@@ void EncodingGraph::buildGraph() ASSERT(0); } } + bsdqsort(edgeVector.expose(), edgeVector.getSize(), sizeof(EncodingEdge *), sortEncodingEdge); + decideEdges(); + } + + void EncodingGraph::encode() { + SetIteratorEncodingSubGraph * itesg=subgraphs.iterator(); + while(itesg->hasNext()) { + EncodingSubGraph *sg=itesg->next(); + sg->encode(); + } + delete itesg; + + ElementIterator it(solver); + while(it.hasNext()) { + Element * e = it.next(); + switch(e->type) { + case ELEMSET: + case ELEMFUNCRETURN: { - ElementEncoding *encoding=getElementEncoding(e); ++ ElementEncoding *encoding=e->getElementEncoding(); + if (encoding->getElementEncodingType() == ELEM_UNASSIGNED) { + //Do assignment... + } + break; + } + default: + break; + } + } + } void EncodingGraph::mergeNodes(EncodingNode *first, EncodingNode *second) {