diff --git a/roaring64/bsi64.go b/roaring64/bsi64.go index 134eb58c..a58d8e0c 100644 --- a/roaring64/bsi64.go +++ b/roaring64/bsi64.go @@ -1131,22 +1131,16 @@ func (b *BSI) SumBigValues(foundSet *Bitmap) (sum *big.Int, count uint64) { } sum = new(big.Int) count = foundSet.GetCardinality() - resultsChan := make(chan int64, b.BitCount()) - var wg sync.WaitGroup - for i := 0; i < b.BitCount(); i++ { - wg.Add(1) - go func(j int) { - defer wg.Done() - resultsChan <- int64(foundSet.AndCardinality(&b.bA[j]) << uint(j)) - }(i) - } - wg.Wait() - close(resultsChan) - - for val := range resultsChan { - sum.Add(sum, big.NewInt(val)) - } - sum.Sub(sum, big.NewInt(int64(foundSet.AndCardinality(&b.bA[b.BitCount()])<