internal static double Average(this ExtractedArray <double> source) { Contract.RequiresNotDefault(source, "source"); Contract.RequiresNonEmptyCollection(source.ActualLength); return((double)Sum(source) / source.ActualLength); }
internal static double?Max(this ExtractedArray <double?> source) { Contract.RequiresNotDefault(source, "source"); Contract.RequiresNonEmptyCollection(source.ActualLength); double?max = null; double?current; int i = 0; for (; i < source.ActualLength; i++) { current = source.Array[i]; if (current != null) { max = current; break; } } for (; i < source.ActualLength; i++) { current = source.Array[i]; if (current != null && max.Value < current.Value) { max = current; } } return(max); }
internal static short?Min(this ExtractedArray <short?> source) { Contract.RequiresNotDefault(source, "source"); Contract.RequiresNonEmptyCollection(source.ActualLength); short?min = null; short?current; int i = 0; for (; i < source.ActualLength; i++) { current = source.Array[i]; if (current != null) { min = current; break; } } for (; i < source.ActualLength; i++) { current = source.Array[i]; if (current != null && min.Value > current.Value) { min = current; } } return(min); }
internal static short Max(this ExtractedArray <short> source) { Contract.RequiresNotDefault(source, "source"); Contract.RequiresNonEmptyCollection(source.ActualLength); var max = short.MinValue; for (int i = 0; i < source.ActualLength; i++) { max = Math.Max(max, source.Array[i]); } return(max); }
internal static double?Average(this ExtractedArray <double?> source) { Contract.RequiresNotDefault(source, "source"); Contract.RequiresNonEmptyCollection(source.ActualLength); var sum = Sum(source); if (sum == null) { return(null); } return(sum.Value / source.ActualLength); }
internal static double Min(this ExtractedArray <double> source) { Contract.RequiresNotDefault(source, "source"); Contract.RequiresNonEmptyCollection(source.ActualLength); var min = double.MaxValue; for (int i = 0; i < source.ActualLength; i++) { min = Math.Min(min, source.Array[i]); } return(min); }
internal static double Sum(this ExtractedArray <double> source) { Contract.RequiresNotDefault(source, "source"); double sum = 0; for (int i = 0; i < source.ActualLength; i++) { checked { sum += source.Array[i]; } } return(sum); }
internal static double?Sum(this ExtractedArray <double?> source) { Contract.RequiresNotDefault(source, "source"); double sum = 0; double?current; for (int i = 0; i < source.ActualLength; i++) { current = source.Array[i]; if (current != null) { checked { sum += current.GetValueOrDefault(); } } } return(sum); }