Codebase list golang-github-vbauerster-mpb / 1a45bb0
movingAverageSpeed: record zero n duration Vladimir Bauer 2 years ago
1 changed file(s) with 10 addition(s) and 4 deletion(s). Raw diff Collapse all Expand all
7878 WC
7979 producer func(float64) string
8080 average ewma.MovingAverage
81 zDur time.Duration
8182 msg string
8283 }
8384
9394 }
9495
9596 func (d *movingAverageSpeed) EwmaUpdate(n int64, dur time.Duration) {
96 durPerByte := float64(dur) / float64(n)
97 if math.IsInf(durPerByte, 0) || math.IsNaN(durPerByte) {
98 return
97 if n <= 0 {
98 d.zDur += dur
99 } else {
100 durPerByte := float64(d.zDur+dur) / float64(n)
101 if math.IsInf(durPerByte, 0) || math.IsNaN(durPerByte) {
102 return
103 }
104 d.average.Add(durPerByte)
105 d.zDur = 0
99106 }
100 d.average.Add(durPerByte)
101107 }
102108
103109 // AverageSpeed decorator with dynamic unit measure adjustment. It's