15 #ifndef LEXICOGRAPHIC_TROPICAL_TROPICAL_FUNCS_H 16 #define LEXICOGRAPHIC_TROPICAL_TROPICAL_FUNCS_H 30 return weight.Value();
38 return weight.Value1().Value();
48 inline typename Arc::Weight
operator () (
const float weight )
const {
49 return typename Arc::Weight ( weight );
51 inline typename Arc::Weight
operator () (
const typename Arc::Weight& weight )
67 return LexStdWeight ( weight.Value(), StdArc::Weight::One() );
70 return LexStdWeight ( weight.Value1(), StdArc::Weight::One() );
83 return Weight ( weight );
104 return LexStdWeight ( weight.Value2(), weight.Value2() );
118 inline typename Arc::Weight
operator () (
const float weight )
const {
119 return typename Arc::Weight ( weight * scale_ );
121 inline typename Arc::Weight
operator () (
const typename Arc::Weight& weight )
123 return weight.Value() * scale_;
140 return LexStdWeight ( weight * scale_, weight * scale_ );
144 scale_ * weight.Value2().Value() );
151 return StdArc::Weight ( weight.Value1() );
LexStdArc::Weight LexStdWeight
float operator()(const typename Arc::Weight &weight)
Function object that applies to every single weight a scaling factor.
Templated functor that creates a weight given a float.
Templated functor that creates a weight given a float.
LexicographicArc< StdArc::Weight, StdArc::Weight > LexStdArc