@@ -294,17 +294,25 @@ impl ComparisonSummary {
294
294
}
295
295
}
296
296
297
- /// The average improvement as a percent
298
- pub fn average_improvement ( & self ) -> f64 {
299
- self . average ( self . improvements ( ) )
297
+ /// Arithmetic mean of all improvements as a percent
298
+ pub fn arithmetic_mean_of_improvements ( & self ) -> f64 {
299
+ self . arithmetic_mean ( self . improvements ( ) )
300
300
}
301
301
302
- /// The average regression as a percent
303
- pub fn average_regression ( & self ) -> f64 {
304
- self . average ( self . regressions ( ) )
302
+ /// Arithmetic mean of all regressions as a percent
303
+ pub fn arithmetic_mean_of_regressions ( & self ) -> f64 {
304
+ self . arithmetic_mean ( self . regressions ( ) )
305
305
}
306
306
307
- fn average < ' a > ( & ' a self , changes : impl Iterator < Item = & ' a TestResultComparison > ) -> f64 {
307
+ /// Arithmetic mean of all changes as a percent
308
+ pub fn arithmetic_mean_of_changes ( & self ) -> f64 {
309
+ self . arithmetic_mean ( self . comparisons . iter ( ) )
310
+ }
311
+
312
+ fn arithmetic_mean < ' a > (
313
+ & ' a self ,
314
+ changes : impl Iterator < Item = & ' a TestResultComparison > ,
315
+ ) -> f64 {
308
316
let mut count = 0 ;
309
317
let mut sum = 0.0 ;
310
318
for r in changes {
@@ -376,16 +384,24 @@ impl ComparisonSummary {
376
384
if self . num_regressions > 1 {
377
385
writeln ! (
378
386
result,
379
- "- Average relevant regression : {:.1}%" ,
380
- self . average_regression ( )
387
+ "- Arithmetic mean of relevant regressions : {:.1}%" ,
388
+ self . arithmetic_mean_of_regressions ( )
381
389
)
382
390
. unwrap ( ) ;
383
391
}
384
392
if self . num_improvements > 1 {
385
393
writeln ! (
386
394
result,
387
- "- Average relevant improvement: {:.1}%" ,
388
- self . average_improvement( )
395
+ "- Arithmetic mean of relevant improvements: {:.1}%" ,
396
+ self . arithmetic_mean_of_improvements( )
397
+ )
398
+ . unwrap ( ) ;
399
+ }
400
+ if self . num_improvements > 0 && self . num_regressions > 0 {
401
+ writeln ! (
402
+ result,
403
+ "- Arithmetic mean of all relevant changes: {:.1}%" ,
404
+ self . arithmetic_mean_of_changes( )
389
405
)
390
406
. unwrap ( ) ;
391
407
}
0 commit comments