17/02/03 22:57:31.92 OPa+5hnkM.net
>>435
IEnumerable<int> EnumerateValues() {
while (true) { yield return ReadValueFromADConverter(); }
}
IEnumerable<int> MovingAverage(IEnumerable<int> source, int windowSize) {
var w = new Queue();
foreach (var x in source) {
w.Enqueue(x);
if (w.Count == windowSize) yield return w.Average();
}
}
void Run() {
foreach (var x in MovingAverage(EnumerateValues(), 256))
WriteToFile(x);
}