// routeComputeClusters.bcpl // Computes a vector of wired clusters in a net // last modified by E. McCreight, June 26, 1981 1:38 PM get "route.defs" let ComputeClusters(clusterBaseVec, net) be [ SetBlock(lv (clusterBaseVec!1), infinity, clusterBaseVec!0) clusterBaseVec!0 = 1 clusterBaseVec!1 = 1 let cluster = net>>net.clusterList while cluster ne empty do [ AddToHeap(clusterBaseVec, cluster>>cluster.index+1, Usc) cluster = cluster>>cluster.next ] let itemsInCluster = clusterBaseVec!0 for i=itemsInCluster to 2 by -1 do clusterBaseVec!i = PullFromHeap(clusterBaseVec, Usc) clusterBaseVec!0 = itemsInCluster ] (635)\f1