map = dtopen(&edgeItemDisc, Dtoset);
for (n = agfstnode(g); n; n = agnxtnode(g, n)) {
for (e = agfstout(g, n); e; e = agnxtout(g, e)) {
- edge_t *leader = equivEdge(map, e);
- if (leader != e) {
- ED_count(leader)++;
- ED_to_virt(e) = ED_to_virt(leader);
- ED_to_virt(leader) = e;
+ if (!(Nop > 1 && ED_spl(e))) {
+ /* with nop > 1 (use given edges)
+ * and a given edge, no edges are created
+ * so other edges being equivalent to this
+ * also wouldn't be created
+ */
+ edge_t *leader = equivEdge(map, e);
+ if (leader != e) {
+ fprintf(stderr, "leader != e\n");
+ ED_count(leader)++;
+ ED_to_virt(e) = ED_to_virt(leader);
+ ED_to_virt(leader) = e;
+ }
+ } else {
+ ED_count(e)++;
}
}
}