public static double AsRootMeanSquare(this IEnumerable<double> source) { double rms = 0.0; long n = 0; foreach(var x in source) { rms += x * x; n++; } return (n > 1) ? Math.Sqrt(rms / (n - 1)) : 0; }