private decimal Median(RollingWindow <decimal> deltaPhase) { int k; decimal median; int obs = deltaPhase.Count; bool even = obs % 2 == 0; decimal[] array = deltaPhase.OrderBy(x => x).ToArray(); if (even) { k = obs / 2; median = (array[k] + array[k + 1]) / 2; } else { k = (obs + 1) / 2; median = array[k]; } return(median); }