On 4/11/2017 1:48 PM, Chris Dennis wrote:
Color me confused… what would the javadoc on the parameter say? It could I 
guess have an @implNote documenting the meanings of the parameters… but then 
what use is it? The proposed API simply limits the precision with which a 
DoubleSummaryStatistic can be copied to be the same as the precision with which 
it can be “accessed”.  That doesn’t seem an enormous problem since I suspect 
that bulk of usages would be to marshall a “finished” instance and therefore 
there is no real loss occuring. If we wanted to support arbitrary precision 
wouldn’t it be better to have a constructor variant that took a BigDecimal, and 
a matching getPreciseSum() that returned a BigDecimal?


The javadoc would say something like "takes an array of double values representing a sum." In other words, rather than forcing the in-progress sum to be represented as a single double, it could be represented as more than one double.

The current implementation basically uses two doubles internally to represent the on-going summation. This extra state prevents many numerically poor outcomes occurring when computing the sum. Greater accuracy would be possible if additional internal state were used.

-Joe


Reply via email to