From: bdemsky Date: Wed, 20 Sep 2017 00:16:04 +0000 (-0700) Subject: Merge branch 'master' of ssh://plrg.eecs.uci.edu/home/git/constraint_compiler X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=15741847172c31b17658b9db8bdcfcf2e3297f57;p=satune.git Merge branch 'master' of ssh://plrg.eecs.uci.edu/home/git/constraint_compiler --- 15741847172c31b17658b9db8bdcfcf2e3297f57 diff --cc src/ASTAnalyses/Encoding/encodinggraph.cc index 9b446fa,75a98b1..2aee670 --- a/src/ASTAnalyses/Encoding/encodinggraph.cc +++ b/src/ASTAnalyses/Encoding/encodinggraph.cc @@@ -60,28 -61,9 +61,28 @@@ void EncodingGraph::encode() switch(e->type) { case ELEMSET: case ELEMFUNCRETURN: { - ElementEncoding *encoding=getElementEncoding(e); + ElementEncoding *encoding=e->getElementEncoding(); if (encoding->getElementEncodingType() == ELEM_UNASSIGNED) { - //Do assignment... + EncodingNode *n = getNode(e); + ASSERT(n != NULL); + ElementEncodingType encodetype=n->getEncoding(); + encoding->setElementEncodingType(encodetype); + if (encodetype == UNARY || encodetype == ONEHOT) { + encoding->encodingArrayInitialization(); + } else if (encodetype == BINARYINDEX) { + EncodingSubGraph * subgraph = graphMap.get(n); + uint encodingSize = subgraph->getEncodingSize(n); + uint paddedSize = encoding->getSizeEncodingArray(encodingSize); + encoding->allocInUseArrayElement(paddedSize); + encoding->allocEncodingArrayElement(paddedSize); + Set * s=e->getRange(); + for(uint i=0;igetSize();i++) { + uint64_t value=s->getElement(i); + uint encodingIndex=subgraph->getEncoding(n, value); + encoding->setInUseElement(encodingIndex); + encoding->encodingArray[encodingIndex] = value; + } + } } break; }