From f115249316decd4e4394d053088cf19702b6863f Mon Sep 17 00:00:00 2001 From: Matthew Jaffee Date: Fri, 22 Sep 2017 01:11:45 -0500 Subject: [PATCH] don't forget to calculate in in differenceArrayRun --- roaring/roaring.go | 2 ++ roaring/roaring_internal_test.go | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/roaring/roaring.go b/roaring/roaring.go index 9eb927d79..578547506 100644 --- a/roaring/roaring.go +++ b/roaring/roaring.go @@ -2481,6 +2481,7 @@ func differenceRunArray(a, b *container) *container { continue } output.runs = append(output.runs, interval16{start: start, last: vb - 1}) + output.n += int(vb - start) start = vb + 1 bidx++ if bidx >= len(b.array) { @@ -2491,6 +2492,7 @@ func differenceRunArray(a, b *container) *container { if start <= run.last { output.runs = append(output.runs, interval16{start: start, last: run.last}) + output.n += int(run.last - start + 1) } } output.Optimize() diff --git a/roaring/roaring_internal_test.go b/roaring/roaring_internal_test.go index 0afa346d1..bdc08b649 100644 --- a/roaring/roaring_internal_test.go +++ b/roaring/roaring_internal_test.go @@ -763,7 +763,7 @@ func TestDifferenceMixed(t *testing.T) { res := difference(a, b) if !reflect.DeepEqual(res.array, []uint16{5, 7, 9}) { - t.Fatalf("test #1 expected %v, but got %v", []uint16{5, 7, 9}, res.array) + t.Fatalf("test #1 expected %v, but got %#v", []uint16{5, 7, 9}, res) } res = difference(b, a)