diff --git a/bloom-filter/src/main/scala/bloomfilter/mutable/UnsafeBitArray.scala b/bloom-filter/src/main/scala/bloomfilter/mutable/UnsafeBitArray.scala index f8cd998..2708801 100644 --- a/bloom-filter/src/main/scala/bloomfilter/mutable/UnsafeBitArray.scala +++ b/bloom-filter/src/main/scala/bloomfilter/mutable/UnsafeBitArray.scala @@ -33,6 +33,7 @@ class UnsafeBitArray(val numberOfBits: Long) extends Serializable { val thatLong = unsafe.getLong(that.ptr + (index >>> 6) * 8L) val longAtIndex = combiner(thisLong, thatLong) unsafe.putLong(result.ptr + (index >>> 6) * 8L, longAtIndex) + result.bitCount += java.lang.Long.bitCount(longAtIndex) index += 64 } result diff --git a/tests/src/test/scala/tests/bloomfilter/mutable/UnsafeBitArraysSpec.scala b/tests/src/test/scala/tests/bloomfilter/mutable/UnsafeBitArraysSpec.scala index 863102e..143cd17 100644 --- a/tests/src/test/scala/tests/bloomfilter/mutable/UnsafeBitArraysSpec.scala +++ b/tests/src/test/scala/tests/bloomfilter/mutable/UnsafeBitArraysSpec.scala @@ -49,7 +49,8 @@ class UnsafeBitArraysSpec extends Properties("UnsafeBitArray") { commonIndices.foreach(x => { array.set(x); thatArray.set(x) }) val sut = array & thatArray - val result = commonIndices.forall(sut.get) + val result = commonIndices.forall(sut.get) && + commonIndices.size == sut.getBitCount array.dispose() thatArray.dispose()