def forms_loop(G_star, loop): glist = [G_star] while True: g = increment_u(G_star, glist[-1]) if (g2num(gk.digonly(g)) & loop) == loop: return True if g in glist: return False glist.append(g) return False
def prune(g): numh = bfu.g2num(g) cannotprune = True for l in gk.edgelist(gk.digonly(g)): gk.delanedge(g,l) if bfu.forms_loop(g, loop): cannotprune = False prune(g) gk.addanedge(g,l) if cannotprune: s.add(bfu.g2num(g))
def prune(g): numh = bfu.g2num(g) cannotprune = True for l in sls.simple_loops(gk.digonly(g),0): gg = delAloop(g,bfu.g2num(loop2graph(l,n))) if bfu.forms_loop(gg, loop): cannotprune = False prune(gg) if cannotprune: print 'one' s.add(g)