Lines Matching refs:Arc
48 template <class Arc, class Queue>
50 : public ShortestDistanceOptions<Arc, Queue, EpsilonArcFilter<Arc> > {
52 typedef typename Arc::StateId StateId;
53 typedef typename Arc::Weight Weight;
62 : ShortestDistanceOptions< Arc, Queue, EpsilonArcFilter<Arc> >(
63 q, EpsilonArcFilter<Arc>(), kNoStateId, d),
70 template <class Arc, class Queue>
73 typedef typename Arc::Label Label;
74 typedef typename Arc::StateId StateId;
75 typedef typename Arc::Weight Weight;
77 RmEpsilonState(const Fst<Arc> &fst, in RmEpsilonState()
79 const RmEpsilonOptions<Arc, Queue> &opts) in RmEpsilonState() argument
87 vector<Arc> &Arcs() { return arcs_; } in Arcs()
132 const Fst<Arc> &fst_;
136 ShortestDistanceState<Arc, Queue, EpsilonArcFilter<Arc> > sd_state_;
142 EpsilonArcFilter<Arc> eps_filter_;
146 vector<Arc> arcs_; // Arcs of state being expanded
153 template <class Arc, class Queue>
154 const size_t RmEpsilonState<Arc, Queue>::kPrime0;
155 template <class Arc, class Queue>
156 const size_t RmEpsilonState<Arc, Queue>::kPrime1;
159 template <class Arc, class Queue>
160 void RmEpsilonState<Arc,Queue>::Expand(typename Arc::StateId source) { in Expand()
177 for (ArcIterator< Fst<Arc> > ait(fst_, state); in Expand()
180 Arc arc = ait.Value(); in Expand()
227 template <class Arc, class Queue>
228 void RmEpsilon(MutableFst<Arc> *fst, in RmEpsilon()
229 vector<typename Arc::Weight> *distance, in RmEpsilon()
230 const RmEpsilonOptions<Arc, Queue> &opts) { in RmEpsilon() argument
231 typedef typename Arc::StateId StateId; in RmEpsilon()
232 typedef typename Arc::Weight Weight; in RmEpsilon()
233 typedef typename Arc::Label Label; in RmEpsilon()
244 for (ArcIterator<Fst<Arc> > aiter(*fst, i); in RmEpsilon()
263 TopOrderVisitor<Arc> top_order_visitor(&order, &acyclic); in RmEpsilon()
264 DfsVisit(*fst, &top_order_visitor, EpsilonArcFilter<Arc>()); in RmEpsilon()
277 SccVisitor<Arc> scc_visitor(&scc, 0, 0, &props); in RmEpsilon()
278 DfsVisit(*fst, &scc_visitor, EpsilonArcFilter<Arc>()); in RmEpsilon()
291 RmEpsilonState<Arc, Queue> in RmEpsilon()
302 vector<Arc> &arcs = rmeps_state.Arcs(); in RmEpsilon()
348 template <class Arc>
349 void RmEpsilon(MutableFst<Arc> *fst,
351 typename Arc::Weight weight_threshold = Arc::Weight::Zero(),
352 typename Arc::StateId state_threshold = kNoStateId,
354 typedef typename Arc::StateId StateId;
355 typedef typename Arc::Weight Weight;
356 typedef typename Arc::Label Label;
359 AutoQueue<StateId> state_queue(*fst, &distance, EpsilonArcFilter<Arc>());
360 RmEpsilonOptions<Arc, AutoQueue<StateId> >
528 typedef A Arc; typedef
550 virtual void InitArcIterator(StateId s, ArcIteratorData<Arc> *data) const { in InitArcIterator()