HEX
Server: Apache/2.4.62 (Unix) OpenSSL/1.1.1k
System: Linux ns565604.ip-54-39-133.net 4.18.0-553.50.1.el8_10.x86_64 #1 SMP Tue Apr 15 08:09:22 EDT 2025 x86_64
User: greer489 (1034)
PHP: 8.3.19
Disabled: NONE
Upload Files
File: //usr/share/graphviz/gvpr/chkedges
/* 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]);
  }
}