Lines Matching refs:self
64 def __init__(self, points=0, key=0, average=0, stddev=0, min_width=0, max_width=0):
65 self.widths = dict(points=points, key=key, average=average, stddev=stddev,
68 def max_widths(self, other):
69 self.widths = {k: max(v, other.widths[k]) for k, v in self.widths.items()}
71 def __getattr__(self, key):
72 return self.widths[key]
106 def __init__(self, key, unit):
107 self.key = key
108 self.unit = unit
109 self.values = []
110 self.average = 0
111 self.count = 0
112 self.M2 = 0
113 self.min = float("inf")
114 self.max = -float("inf")
116 def addValue(self, 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
130 def status(self, widths):
132 fmt_reps(self),
133 fmtS(self.key, widths.key), fmtN(self.average, widths.average),
134 fmtN(self.stddev(), widths.stddev), fmtN(self.min, widths.min),
135 fmtN(self.max, widths.max), fmtS(self.unit_string()))
137 def result(self, widths):
138 return format_line(self.size(), self.key, fmt(self.average),
139 fmt(self.stddev()), fmt(self.min),
140 fmt(self.max), self.unit_string(),
143 def unit_string(self):
144 if not self.unit:
146 return self.unit
148 def variance(self):
149 if self.count < 2:
151 return self.M2 / (self.count - 1)
153 def stddev(self):
154 return math.sqrt(self.variance())
156 def size(self):
157 return len(self.values)
159 def widths(self):
161 points=len("{}".format(self.size())) + 2,
162 key=len(self.key),
163 average=len(fmt(self.average)),
164 stddev=len(fmt(self.stddev())),
165 min_width=len(fmt(self.min)),
166 max_width=len(fmt(self.max)))
176 def __init__(self):
177 self.all = {}
178 self.default_key = '[default]'
179 self.max_widths = FieldWidth(
186 self.last_status_len = 0
188 def record(self, key, value, unit):
190 key = self.default_key
191 if key not in self.all:
192 self.all[key] = Measurement(key, unit)
193 self.all[key].addValue(value)
194 self.max_widths.max_widths(self.all[key].widths())
196 def any(self):
197 if self.all:
198 return next(iter(self.all.values()))
201 def print_results(self):
202 print("{:<{}}".format("", self.last_status_len), end="\r")
203 print(result_header(self.max_widths), sep=" ")
204 for key in sorted(self.all):
205 print(self.all[key].result(self.max_widths), sep=" ")
207 def print_status(self):
212 print("{:<{}}".format(status, self.last_status_len), end="\r")
213 self.last_status_len = len(status)