Lines Matching defs:arc
73 template<class Arc>
74 uint64 ComputeProperties(const Fst<Arc> &fst, uint64 mask, uint64 *known,
76 typedef typename Arc::Label Label;
77 typedef typename Arc::Weight Weight;
78 typedef typename Arc::StateId StateId;
104 SccVisitor<Arc> scc_visitor(&comp_props);
121 for (StateIterator< Fst<Arc> > siter(fst);
126 Arc prev_arc(kNoLabel, kNoLabel, Weight::One(), 0);
133 for (ArcIterator< Fst<Arc> > aiter(fst, s);
136 const Arc &arc =aiter.Value();
138 if (ilabels && ilabels->find(arc.ilabel) != ilabels->end()) {
142 if (olabels && olabels->find(arc.olabel) != olabels->end()) {
146 if (arc.ilabel != arc.olabel) {
150 if (arc.ilabel == 0 && arc.olabel == 0) {
154 if (arc.ilabel == 0) {
158 if (arc.olabel == 0) {
162 if (prev_arc.ilabel != kNoLabel && arc.ilabel < prev_arc.ilabel) {
166 if (prev_arc.olabel != kNoLabel && arc.olabel < prev_arc.olabel) {
170 if (arc.weight != Weight::One() && arc.weight != Weight::Zero()) {
174 if (arc.nextstate <= s) {
178 if (arc.nextstate != s + 1) {
182 prev_arc = arc;
184 ilabels->insert(arc.ilabel);
186 olabels->insert(arc.olabel);
228 template<class Arc>
229 uint64 TestProperties(const Fst<Arc> &fst, uint64 mask, uint64 *known) {