PATH:
usr
/
share
/
graphviz
/
gvpr
/* Looks for multiedges and loops, and output * those found along with counts. If the -d flag * is given, edge direction is taken into account. */ BEGIN{ char* ename; char* n; int doDir, cnt[]; int loopcnt[]; int nloops, nmulti; if ((ARGC > 0) && (ARGV[0] == "-d")) doDir = 1; else doDir = 0; } BEG_G{unset(cnt); unset(loopcnt); nloops = nmulti = 0;} E{ if (doDir || (tail.name <= head.name)) ename=tail.name+"_"+head.name; else ename = head.name+"_"+tail.name; if (tail == head) { loopcnt[ename] += 1; if (loopcnt[ename] == 1) nloops += 1; } else { cnt[ename] += 1; if (cnt[ename] == 2) nmulti += 1; } } END_G{ printf ("graph %s: %d loops %d multiedges\n", $.name, nloops, nmulti); for (cnt[n]) { if (cnt[n] > 1) printf ("%s : %d\n", n, cnt[n]); } for (loopcnt[n]) { if (loopcnt[n] > 0) printf ("%s : %d\n", n, loopcnt[n]); } }
[-] anon
[edit]
[-] topon
[edit]
[-] rotate
[edit]
[-] bipart
[edit]
[-] binduce
[edit]
[-] cycle
[edit]
[-] knbhd
[edit]
[-] collapse
[edit]
[-] col
[edit]
[-] dijkstra
[edit]
[-] maxdeg
[edit]
[-] addedges
[edit]
[-] treetoclust
[edit]
[-] flatten
[edit]
[-] delmulti
[edit]
[-] bb
[edit]
[-] chkclusters
[edit]
[-] indent
[edit]
[-] addrings
[edit]
[-] span
[edit]
[-] depath
[edit]
[-] group
[edit]
[-] chkedges
[edit]
[-] bbox
[edit]
[-] deghist
[edit]
[-] delnodes
[edit]
[-] addranks
[edit]
[-] deledges
[edit]
[-] scalexy
[edit]
[-] dechain
[edit]
[+]
..
[-] cliptree
[edit]
[-] color
[edit]
[-] get-layers-list
[edit]
[-] scale
[edit]
[-] path
[edit]
[-] histogram
[edit]
[-] attr
[edit]