@@ -375,12 +375,11 @@ evaluate(ForEachOps.makeDouble(consumer, true)); } @Override public final double sum() { - // TODO: better algorithm to compensate for errors - return reduce(0.0, Double::sum); + return evaluate(ReduceOps.makeDoubleCompensatingSummer()); } @Override public final OptionalDouble min() { return reduce(Math::min);