From 5b72544d73ec316d7ef9cd7ca2be1a6d8907ff8b Mon Sep 17 00:00:00 2001 From: Richard Artoul Date: Mon, 3 Dec 2018 15:25:54 -0500 Subject: [PATCH] simplify helper with early return --- roaring/roaring.go | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/roaring/roaring.go b/roaring/roaring.go index a1a535ed3..f78f98fba 100644 --- a/roaring/roaring.go +++ b/roaring/roaring.go @@ -4028,20 +4028,17 @@ func (w handledIters) calculateSummaryStats(key uint64) containerUnionSummarySta summary := containerUnionSummaryStats{} for _, iter := range w { - if summary.hasMaxRange { - // If we already know that we're going to use a max range RLE container, - // then there is no reason to continue calculating statistics. - continue - } - // Calculate key-level statistics here currKey, currContainer := iter.iter.Value() if key == currKey { summary.isOnlyContainerWithKey = false summary.n += currContainer.n - if !summary.hasMaxRange { - summary.hasMaxRange = (currContainer.n == maxContainerVal+1) + + if currContainer.n == maxContainerVal+1 { + summary.hasMaxRange = true + summary.n = maxContainerVal + 1 + return summary } } }