On 10/02/2015 16:37, Alexander Jones wrote:
Interesting. I still feel that these algorithms should be given their proper 
names in a math library, because I would feel quite troubled if `Math.sum(a, b, 
c) !== a + b + c`. Maybe I'm alone in this view, though. What do other 
languages do?

On Friday, 2 October 2015, Waldemar Horwat <[email protected] 
<mailto:[email protected]>> wrote:

    On 10/02/2015 13:30, Alexander Jones wrote:

        I really don't think I'd want a basic `Math.sum(a, b, c)` meaning 
anything other than `a + b + c`, i.e. `(a + b) + c`. We should all just come to 
terms with the fact that floating point addition is not associative.

        Or is there really some simple, O(n) algorithm to do a better (more 
"careful") job?


    Kahan summation is simple and O(n).

    There exist efficient algorithms to get the exact sum as well.  See, for 
example, http://www.ti3.tuhh.de/paper/rump/RuOgOi07I.pdf

         Waldemar

In the cases where the algorithms produce something other than the best 
practical results, giving them descriptive names would be useful.  However, 
compound naming can then get out of hand if you also include functions such as 
average, standard deviation, etc., which include computing the sum as a 
subroutine.

    Waldemar

_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to