@Override void evaluateNode(final int nodeId) { IntStack nodes = this.nodes; graph.forEachRelationship(nodeId, D, (s, t, r) -> { if (t > s) { nodes.add(t); } return running(); }); while (!nodes.isEmpty()) { final int node = nodes.pop(); graph.forEachRelationship(node, D, (s, t, r) -> { if (t > s && graph.exists(t, nodeId, D)) { emit(nodeId, s, t); } return running(); }); } } }
@Override void evaluateNode(final int nodeId) { IntStack nodes = this.nodes; graph.forEachRelationship(nodeId, D, (s, t, r) -> { if (t > s) { nodes.add(t); } return running(); }); while (!nodes.isEmpty()) { final int node = nodes.pop(); graph.forEachRelationship(node, D, (s, t, r) -> { if (t > s && graph.exists(t, nodeId, D)) { emit(nodeId, s, t); } return running(); }); } } }
freelist.add(i);
freelist.add(i);