Lines Matching refs:from

44   bool addEdge(uptr from, uptr to) {  in addEdge()  argument
45 check(from, to); in addEdge()
46 return v[from].setBit(to); in addEdge()
50 uptr addEdges(const BV &from, uptr to, uptr added_edges[], in addEdges() argument
53 t1.copyFrom(from); in addEdges()
69 bool hasEdge(uptr from, uptr to) { return v[from].getBit(to); } in hasEdge() argument
72 bool removeEdge(uptr from, uptr to) { in removeEdge() argument
73 return v[from].clearBit(to); in removeEdge()
79 for (uptr from = 0; from < size(); from++) { in removeEdgesTo() local
80 if (v[from].setDifference(to)) in removeEdgesTo()
87 bool removeEdgesFrom(const BV &from) { in removeEdgesFrom() argument
89 t1.copyFrom(from); in removeEdgesFrom()
100 void removeEdgesFrom(uptr from) { in removeEdgesFrom() argument
101 return v[from].clear(); in removeEdgesFrom()
104 bool hasEdge(uptr from, uptr to) const { in hasEdge() argument
105 check(from, to); in hasEdge()
106 return v[from].getBit(to); in hasEdge()
111 bool isReachable(uptr from, const BV &targets) { in isReachable() argument
114 to_visit.copyFrom(v[from]); in isReachable()
116 visited.setBit(from); in isReachable()
128 uptr findPath(uptr from, const BV &targets, uptr *path, uptr path_size) { in findPath() argument
131 path[0] = from; in findPath()
132 if (targets.getBit(from)) in findPath()
136 for (typename BV::Iterator it(v[from]); it.hasNext(); ) { in findPath()
145 uptr findShortestPath(uptr from, const BV &targets, uptr *path, in findShortestPath() argument
148 if (findPath(from, targets, path, p) == p) in findShortestPath()