Beispiel #1
0
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
Beispiel #2
0
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
Beispiel #3
0
 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))
Beispiel #4
0
 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)