You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Gilles Sadowski (Jira)" <ji...@apache.org> on 2023/07/20 16:53:00 UTC

[jira] [Commented] (STATISTICS-77) Implement Sum

    [ https://issues.apache.org/jira/browse/STATISTICS-77?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17745171#comment-17745171 ] 

Gilles Sadowski commented on STATISTICS-77:
-------------------------------------------

* Shouldn't the constructor(s) be "private" (not just package-private)? IMO, the Javadoc "Create a Sum instance" should be replaced with "Prevent direct instance creation.  Use the \{@link #create() factory method}."
* I think that "combine" looses precision...

> Implement Sum
> -------------
>
>                 Key: STATISTICS-77
>                 URL: https://issues.apache.org/jira/browse/STATISTICS-77
>             Project: Commons Statistics
>          Issue Type: Sub-task
>          Components: descriptive
>            Reporter: Anirudh Joshi
>            Priority: Minor
>              Labels: gsoc, gsoc2023
>
> This implementation uses {{commons-numbers}} [Sum|https://github.com/apache/commons-numbers/blob/master/commons-numbers-core/src/main/java/org/apache/commons/numbers/core/Sum.java] as the underlying implementation.
> This may be further expanded to include various other Sum implementations like [Kahan Sum|https://en.wikipedia.org/wiki/Kahan_summation_algorithm], {{Neumaier Sum}} (Two sum method) etc. with the option for the users to choose an implementation. However, before beginning the implementation of various other algorithms it may be worthwhile to discuss and investigate the relative speed of the current Sum implementation compared to {{DoubleStream.sum}} through JMH benchmarks.
> When we know the different speeds, it would be more clear if the user should have a choice for this statistic, e.g.
>  * When using {{DoubleStream.sum}} is too slow and it would be nice to have a simple sum variation.
>  * When the sum has a lot of cancellation and {{DoubleStream.sum}} suffers from random walk around zero.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)