Merging with Tuner branch
[satune.git] / src / ASTAnalyses / Encoding / subgraph.h
index 88a129129a8c3de1e8b005469727ba1656218e61..00264a6c6371f4ba455cf47b4408675fa07d6d79 100644 (file)
@@ -9,6 +9,7 @@ public:
        NodeValuePair(EncodingNode *n, uint64_t val) : node(n), value(val) {}
        EncodingNode *node;
        uint64_t value;
+       CMEMALLOC;
 };
 
 class EncodingValue;
@@ -27,6 +28,7 @@ public:
        HashsetEncodingNode nodes;
        HashsetEncodingValue larger;
        HashsetEncodingValue notequals;
+       CMEMALLOC;
 };
 
 uint hashNodeValuePair(NodeValuePair *nvp);
@@ -43,7 +45,9 @@ public:
        void encode();
        uint getEncoding(EncodingNode *n, uint64_t val);
        uint getEncodingMaxVal(EncodingNode *n) { return maxEncodingVal;}
-
+       double measureSimilarity(EncodingNode *n);
+       double measureSimilarity(EncodingSubGraph *sg);
+       uint numValues();
        CMEMALLOC;
 private:
        uint estimateNewSize(EncodingNode *n);
@@ -61,10 +65,8 @@ private:
        HashsetEncodingValue values;
        HashsetEncodingNode nodes;
        NVPMap map;
-       uint encodingSize;
-       uint numElements;
        uint maxEncodingVal;
-
+       Hashset64Int allValues;
        friend class EncodingGraph;
 };