Home | History | Annotate | Download | only in lib

Lines Matching refs:ifst

105   int64 source;           // 'ifst' state to expand
117 void RandGen(const Fst<Arc> &ifst, MutableFst<Arc> *ofst,
121 if (opts.npath == 0 || opts.max_length == 0 || ifst.Start() == kNoStateId)
126 ofst->SetInputSymbols(ifst.InputSymbols());
127 ofst->SetOutputSymbols(ifst.OutputSymbols());
130 nopts.source = ifst.Start();
133 RandGen(ifst, ofst, nopts);
135 if (ifst.NumArcs(opts.source) == 0 &&
136 ifst.Final(opts.source) == Weight::Zero()) // Non-coaccessible
139 size_t n = opts.arc_selector(ifst, opts.source);
140 if (n == ifst.NumArcs(opts.source)) { // Take 'super-final' transition
143 ArcIterator< Fst<Arc> > aiter(ifst, opts.source);
153 RandGen(ifst, ofst, nopts);
161 void RandGen(const Fst<Arc> &ifst, MutableFst<Arc> *ofst) {
164 RandGen(ifst, ofst, opts);