cyclegraph: add back edges to CycleNode
[model-checker.git] / cyclegraph.cc
index 672a3986fc58b058ccfe32855ff07103a1e93266..3949b6ec86d885056282a0b84d0975267da13cdd 100644 (file)
@@ -319,6 +319,16 @@ unsigned int CycleNode::getNumEdges() const
        return edges.size();
 }
 
+CycleNode * CycleNode::getBackEdge(unsigned int i) const
+{
+       return back_edges[i];
+}
+
+unsigned int CycleNode::getNumBackEdges() const
+{
+       return back_edges.size();
+}
+
 /**
  * Adds an edge from this CycleNode to another CycleNode.
  * @param node The node to which we add a directed edge
@@ -329,6 +339,7 @@ bool CycleNode::addEdge(CycleNode *node)
                if (edges[i] == node)
                        return false;
        edges.push_back(node);
+       node->back_edges.push_back(this);
        return true;
 }