Lines Matching refs:Weight

63                   vector<typename Arc::Weight> *distance,
66 typedef typename Arc::Weight Weight;
75 vector<Weight> rdistance;
82 Weight f_distance = Weight::Zero();
90 if ((Weight::Properties() & (kPath | kRightSemiring))
92 LOG(FATAL) << "SingleShortestPath: Weight needs to have the path"
93 << " property and be right distributive: " << Weight::Type();
96 distance->push_back(Weight::Zero());
99 arc_parent.push_back(Arc(kNoLabel, kNoLabel, Weight::Zero(), kNoStateId));
101 distance->push_back(Weight::One());
103 arc_parent.push_back(Arc(kNoLabel, kNoLabel, Weight::Zero(), kNoStateId));
111 Weight sd = (*distance)[s];
117 distance->push_back(Weight::Zero());
120 arc_parent.push_back(Arc(kNoLabel, kNoLabel, Weight::Zero(),
123 Weight &nd = (*distance)[arc.nextstate];
124 Weight w = Times(sd, arc.weight);
137 if (ifst.Final(s) != Weight::Zero()) {
138 Weight w = Times(sd, ifst.Final(s));
145 (*distance)[source] = Weight::One();
170 typedef W Weight;
171 typedef pair<StateId, Weight> Pair;
174 const vector<Weight>& distance,
181 Weight wx = Times(distance_[px.first], px.second);
182 Weight wy = Times(distance_[py.first], py.second);
197 const vector<Weight> &distance_;
200 NaturalLess<Weight> less_;
229 vector<typename Arc::Weight> *distance,
232 typedef typename Arc::Weight Weight;
233 typedef pair<StateId, Weight> Pair;
235 typedef typename ReverseArc::Weight ReverseWeight;
247 if ((Weight::Properties() & (kPath | kSemiring)) != (kPath | kSemiring))
248 LOG(FATAL) << "ShortestPath: n-shortest: Weight needs to have the "
250 << Weight::Type();
263 distance->insert(distance->begin(), Weight::One());
265 distance->push_back(Weight::Zero());
278 distance->push_back(Weight::One()); // differently when unique=true
279 ShortestPathCompare<StateId, Weight>
287 ofst->SetFinal(final, Weight::One());
289 pairs.push_back(Pair(kNoStateId, Weight::Zero()));
290 pairs[final] = Pair(rfst.Start(), Weight::One());
301 ofst->AddArc(ofst->Start(), Arc(0, 0, Weight::One(), state));
312 Weight w = Times(p.second, arc.weight);
321 Weight finalw = rfst.Final(p.first).Reverse();
322 if (finalw != Weight::Zero()) {
323 Weight w = Times(p.second, finalw);
353 vector<typename Arc::Weight> distance;