Advertisement
Lusien_Lashans

moving max

Feb 26th, 2017
562
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.75 KB | None | 0 0
  1.  
  2. using System.Collections.Generic;
  3.  
  4. namespace yield
  5. {
  6.     public static class MovingMaxTask
  7.     {
  8.         public static IEnumerable<DataPoint> MovingMax(this IEnumerable<DataPoint> data, int windowWidth)
  9.         {
  10.             var i = 0;
  11.             var max = 0.0;
  12.  
  13.             foreach (var point in data)
  14.             {
  15.                 if (i < windowWidth)
  16.                 {
  17.                     if (max < point.OriginalY)
  18.                         max = point.OriginalY;
  19.                     i++;
  20.                 }
  21.                 else
  22.                 {
  23.                     max = point.OriginalY;
  24.                     i = 0;
  25.                 }
  26.                 point.MaxY = max;
  27.                 yield return point;
  28.             }
  29.         }
  30.     }
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement