public OperationTimeReportElement Add(OperationTimeReportElement target) { this.average = (this.average * (double)this.count + target.average * (double)target.count) / (double)(this.count + target.count); this.squaredaverage = (this.squaredaverage * (double)this.count + target.squaredaverage * (double)target.count) / (double)(this.count + target.count); this.count += target.count; if (this.max < target.max) { this.max = target.max; } if (this.min == -1.0 || (target.min != -1.0 && this.min > target.min)) { this.min = target.min; } return(this); }
public static string ReportString(Dictionary <string, OperationTimeReportElement> dic) { StringBuilder stringBuilder = new StringBuilder(); foreach (KeyValuePair <string, OperationTimeReportElement> keyValuePair in dic) { OperationTimeReportElement value = keyValuePair.Value; stringBuilder.AppendLine(string.Format("{0}\t{1:0.000}\t{2:0.000}\t{3:0.000}\t{4:0.000}", new object[] { keyValuePair.Key, value.min, value.max, value.average, value.stdev })); } return(stringBuilder.ToString()); }