diff --git a/bitarray/bitarray.go b/bitarray/bitarray.go index 4ca05b6..6c28331 100644 --- a/bitarray/bitarray.go +++ b/bitarray/bitarray.go @@ -203,12 +203,12 @@ func (ba *bitArray) ClearBit(k uint64) error { } // Count returns the number of set bits in this array. -func (ba *bitArray) Count() uint64 { +func (ba *bitArray) Count() int { count := 0 for _, block := range ba.blocks { count += bits.OnesCount64(uint64(block)) } - return uint64(count) + return count } // Or will bitwise or two bit arrays and return a new bit array diff --git a/bitarray/bitarray_test.go b/bitarray/bitarray_test.go index 9364617..6f8f3dd 100644 --- a/bitarray/bitarray_test.go +++ b/bitarray/bitarray_test.go @@ -145,10 +145,10 @@ func TestIsEmpty(t *testing.T) { func TestCount(t *testing.T) { ba := newBitArray(500) - assert.Equal(t, uint64(0), ba.Count()) + assert.Equal(t, 0, ba.Count()) require.NoError(t, ba.SetBit(0)) - assert.Equal(t, uint64(1), ba.Count()) + assert.Equal(t, 1, ba.Count()) require.NoError(t, ba.SetBit(40)) require.NoError(t, ba.SetBit(64)) @@ -156,13 +156,13 @@ func TestCount(t *testing.T) { require.NoError(t, ba.SetBit(200)) require.NoError(t, ba.SetBit(469)) require.NoError(t, ba.SetBit(500)) - assert.Equal(t, uint64(7), ba.Count()) + assert.Equal(t, 7, ba.Count()) require.NoError(t, ba.ClearBit(200)) - assert.Equal(t, uint64(6), ba.Count()) + assert.Equal(t, 6, ba.Count()) ba.Reset() - assert.Equal(t, uint64(0), ba.Count()) + assert.Equal(t, 0, ba.Count()) } func TestClear(t *testing.T) { diff --git a/bitarray/interface.go b/bitarray/interface.go index 61e30c4..fb22493 100644 --- a/bitarray/interface.go +++ b/bitarray/interface.go @@ -60,7 +60,7 @@ type BitArray interface { // seen capacity of the sparse array. Capacity() uint64 // Count returns the number of set bits in this array. - Count() uint64 + Count() int // Or will bitwise or the two bitarrays and return a new bitarray // representing the result. Or(other BitArray) BitArray diff --git a/bitarray/sparse_bitarray.go b/bitarray/sparse_bitarray.go index 19ec140..b9e3dbc 100644 --- a/bitarray/sparse_bitarray.go +++ b/bitarray/sparse_bitarray.go @@ -247,12 +247,12 @@ func (sba *sparseBitArray) Equals(other BitArray) bool { } // Count returns the number of set bits in this array. -func (sba *sparseBitArray) Count() uint64 { +func (sba *sparseBitArray) Count() int { count := 0 for _, block := range sba.blocks { count += bits.OnesCount64(uint64(block)) } - return uint64(count) + return count } // Or will perform a bitwise or operation with the provided bitarray and diff --git a/bitarray/sparse_bitarray_test.go b/bitarray/sparse_bitarray_test.go index 48e59f2..8f14ecb 100644 --- a/bitarray/sparse_bitarray_test.go +++ b/bitarray/sparse_bitarray_test.go @@ -121,10 +121,10 @@ func BenchmarkGetSetCompressedBits(b *testing.B) { func TestCompressedCount(t *testing.T) { ba := newSparseBitArray() - assert.Equal(t, uint64(0), ba.Count()) + assert.Equal(t, 0, ba.Count()) require.NoError(t, ba.SetBit(0)) - assert.Equal(t, uint64(1), ba.Count()) + assert.Equal(t, 1, ba.Count()) require.NoError(t, ba.SetBit(40)) require.NoError(t, ba.SetBit(64)) @@ -132,13 +132,13 @@ func TestCompressedCount(t *testing.T) { require.NoError(t, ba.SetBit(200)) require.NoError(t, ba.SetBit(469)) require.NoError(t, ba.SetBit(500)) - assert.Equal(t, uint64(7), ba.Count()) + assert.Equal(t, 7, ba.Count()) require.NoError(t, ba.ClearBit(200)) - assert.Equal(t, uint64(6), ba.Count()) + assert.Equal(t, 6, ba.Count()) ba.Reset() - assert.Equal(t, uint64(0), ba.Count()) + assert.Equal(t, 0, ba.Count()) } func TestClearCompressedBit(t *testing.T) {