opPow, opDollar

Robert Jacques sandford at jhu.edu
Sat Nov 7 12:55:45 PST 2009


On Sat, 07 Nov 2009 12:56:35 -0500, Andrei Alexandrescu  
<SeeWebsiteForEmail at erdani.org> wrote:

> Robert Jacques wrote:
>> I'd recommend rolling that into a basic statistics struct containing  
>> common single pass metrics: i.e. sum, mean, variance, min, max, etc.
>
> Well the problem is that if you want to compute several one-pass  
> statistics in one pass, you'd have to invent means to combine these  
> functions. That ability is already present in reduce, e.g. reduce(min,  
> max)(range) yields a pair containing the min and the max element after  
> exactly one pass through range.
>
> Andrei

Yes, but reduce(mean, std)(range) doesn't work. Even reduce(count) would  
require the range to be mapped. Besides, in my use case I need lazy  
evaluation, and I'd much rather add elements to a statistics struct, than  
write a range wrapper.



More information about the Digitalmars-d mailing list