Collect Statistics efficiently and easily
snarwin at gmail.com
Tue Sep 17 14:06:41 UTC 2019
On Tuesday, 17 September 2019 at 01:53:39 UTC, Brett wrote:
> Many times I have to get statistical info which is simply
> compute statistics on a data set that may be generating or
> already generated.
> The code usually is
> M = max(M, v);
> m = min(m, v);
> but other things like standard deviation, mean, etc might need
> to be computed.
> This may need to be done on several data sets simultaneously.
> is there any way that one could just compute them in one line
> that is efficient, probably using ranges? I'd like to avoid
> having to loop through a data set multiple times as it would be
> quite inefficient.
You can use `std.algorithm.fold` to compute multiple results in a
auto stats = v.fold!(max, min);
M = stats;
m = stats;
More information about the Digitalmars-d-learn