From: akr@... Date: 2016-04-13T07:03:54+00:00 Subject: [ruby-core:74924] [Ruby trunk Feature#12217] Introducing Enumerable#sum for precision compensated summation and revert r54237 Issue #12217 has been updated by Akira Tanaka. Array#sum is accepted by matz at https://bugs.ruby-lang.org/issues/12222#note-6 ---------------------------------------- Feature #12217: Introducing Enumerable#sum for precision compensated summation and revert r54237 https://bugs.ruby-lang.org/issues/12217#change-58054 * Author: Kenta Murata * Status: Assigned * Priority: Normal * Assignee: Yukihiro Matsumoto ---------------------------------------- In this issue I propose to introduce Enumerable#sum for precision compensated summation of an array of floating point numbers. In r54237, I've changed Enumerable#inject to support precision compensated summation for summing up floating point numbers. But I noticed that this commit broke the equality of `ary.inject(:+) == ary.inject {|a, x| a + x }`. I think this equality is important property of inject method, so I don't want to break it. And because precision compensated algorithms are complicated, I think they are provided in the standard library, especially simple summation. ---Files-------------------------------- inject-plus.txt (1.21 MB) -- https://bugs.ruby-lang.org/ Unsubscribe: