Home | History | Annotate | Download | only in fst

Lines Matching refs:Partition

40 #include <fst/partition.h>
49 // comparator for creating partition based on sorting on
66 const Partition<typename A::StateId>& partition,
68 : fst_(fst), partition_(partition), flags_(flags) {}
107 const Partition<typename A::StateId>& partition_;
146 const Partition<StateId>& partition() const {
155 ArcIterCompare(const Partition<StateId>& partition)
156 : partition_(partition) {}
162 // (partition class Ids)
170 const Partition<StateId>& partition_;
208 VLOG(5) << "Initial Partition: " << P_.num_classes();
213 // in the partition corresponding to final, non-final
223 // prep partition
231 // partition all classes with destination C
288 Partition<StateId> P_;
290 // L = set of active classes to be processed in partition P
323 const Partition<StateId>& partition() {
397 // create initial partition based on height
427 // create refined partition
444 Partition<StateId> partition_;
448 // Given a partition and a mutable fst, merge states of Fst inplace
450 // a class of the partition to be the representative state for the class.
455 const Partition<typename A::StateId>& partition, MutableFst<A>* fst) {
458 vector<StateId> state_map(partition.num_classes());
459 for (size_t i = 0; i < partition.num_classes(); ++i) {
460 PartitionIterator<StateId> siter(partition, i);
461 state_map[i] = siter.Value(); // first state in partition;
465 for (size_t c = 0; c < partition.num_classes(); ++c) {
466 for (PartitionIterator<StateId> siter(partition, c);
472 arc.nextstate = state_map[partition.class_id(arc.nextstate)];
481 fst->SetStart(state_map[partition.class_id(fst->Start())]);
504 MergeStates(minimizer.partition(), fst);
510 MergeStates(minimizer.partition(), fst);