[#74190] [Ruby trunk Feature#12134] Comparison between `true` and `false` — duerst@...
SXNzdWUgIzEyMTM0IGhhcyBiZWVuIHVwZGF0ZWQgYnkgTWFydGluIETDvHJzdC4KCgpUc3V5b3No
3 messages
2016/03/07
[#74269] Type systems for Ruby — Rob Blanco <ml@...>
Dear ruby-core,
5 messages
2016/03/10
[#74395] [Ruby trunk Feature#12142] Hash tables with open addressing — shyouhei@...
Issue #12142 has been updated by Shyouhei Urabe.
3 messages
2016/03/17
[ruby-core:74573] [Ruby trunk Feature#12217] Introducing Enumerable#sum for precision compensated summation and revert r54237
From:
akr@...
Date:
2016-03-25 15:05:14 UTC
List:
ruby-core #74573
Issue #12217 has been updated by Akira Tanaka.
Akira Tanaka wrote:
> - Enumerable#sum is not well defined for non-numeric elements, especially objects without + method.
An idea to avoid this problem is an argument to specify the initial object.
```
module Enumerable
def sum(init=0)
inject(init, :+) # or better algorithm.
end
end
```
Programmers have responsibility that init has + method.
However init has the default value 0 because #sum is mostly used for numeric.
----------------------------------------
Feature #12217: Introducing Enumerable#sum for precision compensated summation and revert r54237
https://bugs.ruby-lang.org/issues/12217#change-57702
* 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: <mailto:[email protected]?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>