Lines Matching refs:fst1
47 void Concat(MutableFst<Arc> *fst1, const Fst<Arc> &fst2) { in Concat() argument
54 if (!CompatSymbols(fst1->InputSymbols(), fst2.InputSymbols()) || in Concat()
55 !CompatSymbols(fst1->OutputSymbols(), fst2.OutputSymbols())) { in Concat()
62 uint64 props1 = fst1->Properties(kFstProperties, false); in Concat()
65 StateId start1 = fst1->Start(); in Concat()
67 if (props2 & kError) fst1->SetProperties(kError, kError); in Concat()
71 StateId numstates1 = fst1->NumStates(); in Concat()
73 fst1->ReserveStates(numstates1 + CountStates(fst2)); in Concat()
78 StateId s1 = fst1->AddState(); in Concat()
80 fst1->SetFinal(s1, fst2.Final(s2)); in Concat()
81 fst1->ReserveArcs(s1, fst2.NumArcs(s2)); in Concat()
87 fst1->AddArc(s1, arc); in Concat()
93 Weight final = fst1->Final(s1); in Concat()
95 fst1->SetFinal(s1, Weight::Zero()); in Concat()
97 fst1->AddArc(s1, Arc(0, 0, final, start2 + numstates1)); in Concat()
101 fst1->SetProperties(ConcatProperties(props1, props2), kFstProperties); in Concat()
113 void Concat(const Fst<Arc> &fst1, MutableFst<Arc> *fst2) { in Concat() argument
119 if (!CompatSymbols(fst1.InputSymbols(), fst2->InputSymbols()) || in Concat()
120 !CompatSymbols(fst1.OutputSymbols(), fst2->OutputSymbols())) { in Concat()
127 uint64 props1 = fst1.Properties(kFstProperties, false); in Concat()
137 if (fst1.Properties(kExpanded, false)) in Concat()
138 fst2->ReserveStates(numstates2 + CountStates(fst1)); in Concat()
140 for (StateIterator< Fst<Arc> > siter(fst1); in Concat()
145 Weight final = fst1.Final(s1); in Concat()
146 fst2->ReserveArcs(s2, fst1.NumArcs(s1) + (final != Weight::Zero() ? 1 : 0)); in Concat()
149 for (ArcIterator< Fst<Arc> > aiter(fst1, s1); in Concat()
157 StateId start1 = fst1.Start(); in Concat()
167 void Concat(RationalFst<Arc> *fst1, const Fst<Arc> &fst2) { in Concat() argument
168 fst1->GetImpl()->AddConcat(fst2, true); in Concat()
174 void Concat(const Fst<Arc> &fst1, RationalFst<Arc> *fst2) { in Concat() argument
175 fst2->GetImpl()->AddConcat(fst1, false); in Concat()
201 ConcatFst(const Fst<A> &fst1, const Fst<A> &fst2) { in ConcatFst() argument
202 GetImpl()->InitConcat(fst1, fst2); in ConcatFst()
205 ConcatFst(const Fst<A> &fst1, const Fst<A> &fst2, in ConcatFst() argument
207 GetImpl()->InitConcat(fst1, fst2); in ConcatFst()