Skip to content

Commit dd6fd8e

Browse files
committed
Added working version
1 parent 06961f1 commit dd6fd8e

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

bitmapcontainer.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,11 +86,11 @@ func clz(i uint64) int {
8686
}
8787

8888
func (bc *bitmapContainer) maximum() uint16 {
89-
for i := len(bc.bitmap) - 1; i > 0; i += 1 {
90-
w := bc.bitmap[i]
89+
for i := len(bc.bitmap) ; i > 0; i -= 1 {
90+
w := bc.bitmap[i - 1]
9191
if w != 0 {
9292
r := clz(w)
93-
return uint16(i*64 + 63 - r)
93+
return uint16((i-1)*64 + 63 - r)
9494
}
9595
}
9696
return uint16(0)

roaring_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99
"testing"
1010
)
1111

12-
func testFirstLast(t *testing.T) {
12+
func TestFirstLast(t *testing.T) {
1313
bm := New()
1414
bm.AddInt(2)
1515
bm.AddInt(4)
@@ -23,14 +23,14 @@ func testFirstLast(t *testing.T) {
2323
t.FailNow()
2424
}
2525
i := 1 << 5
26-
for ; i < (1 << 14); i += 1 {
26+
for ; i < (1 << 17); i += 1 {
2727
bm.AddInt(i)
2828
if 2 != bm.Minimum() {
2929
t.Errorf("bad minimum")
3030
t.FailNow()
3131
}
3232
if uint32(i) != bm.Maximum() {
33-
t.Errorf("bad maximum")
33+
t.Errorf("bad maximum",i,bm.Maximum())
3434
t.FailNow()
3535
}
3636
}
@@ -39,8 +39,8 @@ func testFirstLast(t *testing.T) {
3939
t.Errorf("bad minimum")
4040
t.FailNow()
4141
}
42-
if uint32(i) != bm.Maximum() {
43-
t.Errorf("bad maximum")
42+
if uint32(i-1) != bm.Maximum() {
43+
t.Errorf("bad maximum",i,bm.Maximum())
4444
t.FailNow()
4545
}
4646
}

0 commit comments

Comments
 (0)