From af3cb91a40c6b217afc8084cd164f2fff4c03d5d Mon Sep 17 00:00:00 2001 From: Richard Artoul Date: Wed, 28 Nov 2018 18:42:38 -0500 Subject: [PATCH] first --- roaring/roaring.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/roaring/roaring.go b/roaring/roaring.go index bc75b5119..b8b5734c5 100644 --- a/roaring/roaring.go +++ b/roaring/roaring.go @@ -504,7 +504,7 @@ func (b *Bitmap) unionIntoTarget(target *Bitmap, others ...*Bitmap) { // Use a bitmap buf := make([]uint64, bitmapN) ob := buf[:bitmapN] - output := &Container{ + container := &Container{ bitmap: ob, n: n, containerType: containerBitmap, @@ -514,6 +514,13 @@ func (b *Bitmap) unionIntoTarget(target *Bitmap, others ...*Bitmap) { jKey, jContainer := jIter.iter.Value() if iKey == jKey { + if jContainer.isArray() { + unionBitmapArrayInPlace(container, jContainer) + } else if jContainer.isRun() { + unionBitmapRunInPlace(container, jContainer) + } else { + unionBitmapBitmapInPlace(container, jContainer) + } } } }