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()
133 const Fst<Arc> &fst_;
137 ShortestDistanceState<Arc, Queue, EpsilonArcFilter<Arc> > sd_state_;
143 EpsilonArcFilter<Arc> eps_filter_;
147 vector<Arc> arcs_; // Arcs of state being expanded
154 template <class Arc, class Queue>
155 const size_t RmEpsilonState<Arc, Queue>::kPrime0;
156 template <class Arc, class Queue>
157 const size_t RmEpsilonState<Arc, Queue>::kPrime1;
160 template <class Arc, class Queue>
161 void RmEpsilonState<Arc,Queue>::Expand(typename Arc::StateId source) { in Expand()
178 for (ArcIterator< Fst<Arc> > ait(fst_, state); in Expand()
181 Arc arc = ait.Value(); in Expand()
228 template <class Arc, class Queue>
229 void RmEpsilon(MutableFst<Arc> *fst, in RmEpsilon()
230 vector<typename Arc::Weight> *distance, in RmEpsilon()
231 const RmEpsilonOptions<Arc, Queue> &opts) { in RmEpsilon() argument
232 typedef typename Arc::StateId StateId; in RmEpsilon()
233 typedef typename Arc::Weight Weight; in RmEpsilon()
234 typedef typename Arc::Label Label; in RmEpsilon()
245 for (ArcIterator<Fst<Arc> > aiter(*fst, i); in RmEpsilon()
264 TopOrderVisitor<Arc> top_order_visitor(&order, &acyclic); in RmEpsilon()
265 DfsVisit(*fst, &top_order_visitor, EpsilonArcFilter<Arc>()); in RmEpsilon()
278 SccVisitor<Arc> scc_visitor(&scc, 0, 0, &props); in RmEpsilon()
279 DfsVisit(*fst, &scc_visitor, EpsilonArcFilter<Arc>()); in RmEpsilon()
292 RmEpsilonState<Arc, Queue> in RmEpsilon()
303 vector<Arc> &arcs = rmeps_state.Arcs(); in RmEpsilon()
349 template <class Arc>
350 void RmEpsilon(MutableFst<Arc> *fst,
352 typename Arc::Weight weight_threshold = Arc::Weight::Zero(),
353 typename Arc::StateId state_threshold = kNoStateId,
355 typedef typename Arc::StateId StateId;
356 typedef typename Arc::Weight Weight;
357 typedef typename Arc::Label Label;
360 AutoQueue<StateId> state_queue(*fst, &distance, EpsilonArcFilter<Arc>());
361 RmEpsilonOptions<Arc, AutoQueue<StateId> >
529 typedef A Arc; typedef
551 virtual void InitArcIterator(StateId s, ArcIteratorData<Arc> *data) const { in InitArcIterator()