| 114 | self.max = -float("inf") |
| 115 | |
| 116 | def addValue(self, value): |
| 117 | try: |
| 118 | num_value = float(value) |
| 119 | self.values.append(num_value) |
| 120 | self.min = min(self.min, num_value) |
| 121 | self.max = max(self.max, num_value) |
| 122 | self.count = self.count + 1 |
| 123 | delta = num_value - self.average |
| 124 | self.average = self.average + delta / self.count |
| 125 | delta2 = num_value - self.average |
| 126 | self.M2 = self.M2 + delta * delta2 |
| 127 | except ValueError: |
| 128 | print("Ignoring non-numeric value", value) |
| 129 | |
| 130 | def status(self, widths): |
| 131 | return "{} {}: avg {} stddev {} ({} - {}) {}".format( |