collapse 469 B

1234567891011
  1. /* Collapse all edges with same group attribute into a single edge */
  2. BEG_G {
  3. int seen[string];
  4. $O = $; // Use the input graph as output.
  5. }
  6. E {
  7. if (collapse == "") return; // If no collapse, ignore.
  8. if (seen[collapse]) delete ($G, $); // If already seen an edge with this collapse value,
  9. // delete the edge.
  10. else seen[collapse] = 1; // Else mark collapse value as seen and keep edge.
  11. }