[Issue 4725] std.algorithm.sum()

d-bugmail at puremagic.com d-bugmail at puremagic.com
Sun May 15 09:14:47 PDT 2011


http://d.puremagic.com/issues/show_bug.cgi?id=4725



--- Comment #8 from bearophile_hugs at eml.cc 2011-05-15 09:10:38 PDT ---
(In reply to comment #7)
> Hm, I don't get why we should start from scratch instead of reusing reduce.
> 
> auto sum(R)(R range)
> if(is(typeof(ElementType!(R).init + ElementType!(R).init)))
> {
>     return reduce!"a + b"(0, range);
> }

I suggest to avoid using reduce here to allow a more efficient implementation
of sum() (keeping two summing values in parallel), see Comment #2.

Note1: I have shown two versions of sum() here, one accepts a starting value
too.

Note2: I think your code doesn't work with the little unittest (main) I have
added, even if you comment out this line sum(a1,0).

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list