Home | History | Annotate | Download | only in fst

Lines Matching refs:aiter

132 // Reach(aiter, ...) is true if labels on the input (output) side of
215 for (MutableArcIterator< MutableFst<Arc> > aiter(fst, s);
216 !aiter.Done();
217 aiter.Next()) {
218 Arc arc = aiter.Value();
223 aiter.SetValue(arc);
302 bool Reach(Iterator *aiter, ssize_t aiter_begin,
314 uint32 flags = aiter->Flags(); // save flags to restore them on exit
315 aiter->SetFlags(kArcNoCache, kArcNoCache); // make caching optional
316 aiter->Seek(aiter_begin);
322 aiter->SetFlags(aiter_input ? kArcILabelValue : kArcOLabelValue,
326 aiter_pos < aiter_end; aiter->Next(), ++aiter_pos) {
327 const A &arc = aiter->Value();
335 if (!(aiter->Flags() & kArcWeightValue)) {
337 // to 'aiter->Value()' above, we need to call
338 // 'aiter->Value()' again after having set the arc iterator
340 aiter->SetFlags(kArcWeightValue, kArcValueFlags);
341 const A &arcb = aiter->Value();
346 aiter->SetFlags(aiter_input ? kArcILabelValue : kArcOLabelValue,
361 begin_low = LowerBound(aiter, end_low, aiter_end,
363 end_low = LowerBound(aiter, begin_low, aiter_end,
370 aiter->SetFlags(kArcWeightValue, kArcValueFlags);
371 reach_weight_ = accumulator_->Sum(reach_weight_, aiter,
378 aiter->SetFlags(flags, kArcFlags); // restore original flag values
417 for (MutableArcIterator< VectorFst<Arc> > aiter(fst_, s);
418 !aiter.Done();
419 aiter.Next()) {
420 Arc arc = aiter.Value();
429 aiter.SetValue(arc);
507 ssize_t LowerBound(Iterator *aiter, ssize_t aiter_begin,
512 aiter->SetFlags(aiter_input ? kArcILabelValue : kArcOLabelValue,
518 aiter->Seek(mid);
520 aiter->Value().ilabel : aiter->Value().olabel;
528 aiter->Seek(i - 1);
529 label = aiter_input ? aiter->Value().ilabel : aiter->Value().olabel;
531 aiter->Seek(i);
532 aiter->SetFlags(kArcValueFlags, kArcValueFlags);
536 aiter->SetFlags(kArcValueFlags, kArcValueFlags);
540 aiter->Seek(low);
541 aiter->SetFlags(kArcValueFlags, kArcValueFlags);