protected override float Func(int doc, FunctionValues[] valsArr)
 {
     if (valsArr.Length == 0)
     {
         return 0.0f;
     }
     return valsArr.Select(vals => vals.FloatVal(doc)).Concat(new[] {float.PositiveInfinity}).Min();
 }