From: bdemsky Date: Fri, 20 Oct 2017 21:41:42 +0000 (-0700) Subject: Off by 1 bug X-Git-Url: http://plrg.eecs.uci.edu/git/?p=satune.git;a=commitdiff_plain;h=3840b262ca90a6cbbb24a4073adb2318e62905a2 Off by 1 bug --- diff --git a/src/ASTAnalyses/Encoding/encodinggraph.cc b/src/ASTAnalyses/Encoding/encodinggraph.cc index abbaf29..5416ed0 100644 --- a/src/ASTAnalyses/Encoding/encodinggraph.cc +++ b/src/ASTAnalyses/Encoding/encodinggraph.cc @@ -73,12 +73,15 @@ void EncodingGraph::encode() { EncodingSubGraph *subgraph = graphMap.get(n); if (subgraph == NULL) continue; - uint encodingSize = subgraph->getEncodingSize(n); + uint encodingSize = subgraph->getEncodingMaxVal(n)+1; uint paddedSize = encoding->getSizeEncodingArray(encodingSize); + model_print("encoding size=%u\n", encodingSize); + model_print("padded=%u\n", paddedSize); encoding->allocInUseArrayElement(paddedSize); encoding->allocEncodingArrayElement(paddedSize); Set *s = e->getRange(); for (uint i = 0; i < s->getSize(); i++) { + model_print("index=%u\n", i); uint64_t value = s->getElement(i); uint encodingIndex = subgraph->getEncoding(n, value); encoding->setInUseElement(encodingIndex); diff --git a/src/ASTAnalyses/Encoding/subgraph.h b/src/ASTAnalyses/Encoding/subgraph.h index 36f1902..c9aaa0c 100644 --- a/src/ASTAnalyses/Encoding/subgraph.h +++ b/src/ASTAnalyses/Encoding/subgraph.h @@ -41,7 +41,7 @@ public: SetIteratorEncodingNode *nodeIterator(); void encode(); uint getEncoding(EncodingNode *n, uint64_t val); - uint getEncodingSize(EncodingNode *n) { return maxEncodingVal;} + uint getEncodingMaxVal(EncodingNode *n) { return maxEncodingVal;} CMEMALLOC; private: diff --git a/src/Encoders/elementencoding.cc b/src/Encoders/elementencoding.cc index da6efd1..19439dc 100644 --- a/src/Encoders/elementencoding.cc +++ b/src/Encoders/elementencoding.cc @@ -57,7 +57,7 @@ void ElementEncoding::print() { if (type == BINARYINDEX) { for (uint i = 0; i < encArraySize; i++) { if (i != 0) - model_print(" ,"); + model_print(", "); if (isinUseElement(i)) model_print("%" PRIu64 "", encodingArray[i]); else