transversal sum

via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Thu Nov 6 08:57:48 PST 2014


On Thursday, 6 November 2014 at 15:53:27 UTC, Jack Applegame 
wrote:
> I have rectangular forward range of forward ranges (not arrays):
> [
>   [a11, a12, ... a1N],
>   [a21, a22, ... a2N],
>   ...
>   [aM1, aM2, ... aMN]
> ]
>
> I need lazy forward range:
> [
>  a11 + a21 + ... aM1,
>  a12 + a22 + ... aM2,
>  ...
>  a1N + a2N + ... aMN
> ]
> Range of sum elements of every columns;
>
> M, N - runtime values;
>
> Is there a way to do this using only Phobos algorithms and 
> range functions?

Untested:

     import std.algorithm: map, sum;
     auto rangeOfSums = rectangularRange.map!(r => r.sum);


More information about the Digitalmars-d-learn mailing list