From 57378c31cb26336c59114486ed357283fde73cfe Mon Sep 17 00:00:00 2001 From: Rose Hogenson Date: Sun, 6 Apr 2025 07:09:38 -0700 Subject: Make sure measurements are increasing --- progress.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'progress.go') diff --git a/progress.go b/progress.go index 2d78cef..0f1a785 100644 --- a/progress.go +++ b/progress.go @@ -47,6 +47,10 @@ func New(max int) *Bar { // Set sets the current value to val. func (b *Bar) Set(val int) { + // Measurements must be strictly increasing + for b.measurements.Len() > 0 && b.measurements.Get(b.measurements.Len()-1).i > val { + b.measurements.PopBack() + } b.measurements.PushBack(measurement{time.Now(), val}) } @@ -57,7 +61,7 @@ func (b *Bar) Print() { } now := time.Now() - for b.measurements.Len() > 1 && now.Sub(b.measurements.Get(0).t) > 2*time.Minute { + for b.measurements.Len() > 2 && now.Sub(b.measurements.Get(0).t) > 2*time.Minute { b.measurements.PopFront() } first := b.measurements.Get(0) -- cgit v1.3.1