add set all Treu and all False
This commit is contained in:
parent
1ee022c237
commit
73ba2660c0
|
@ -150,3 +150,23 @@ func (b Bitmap) UpdateFrom(newBitmap Bitmap) Bitmap {
|
|||
|
||||
return b
|
||||
}
|
||||
|
||||
// SetAllTrue 將 Bitmap 中的所有位設置為 true(1)。
|
||||
func (b Bitmap) SetAllTrue() Bitmap {
|
||||
// 將 Bitmap 中的每個 byte 設置為 0xFF,表示所有 bit 都為 1
|
||||
for i := range b {
|
||||
b[i] = 0xFF
|
||||
}
|
||||
|
||||
return b
|
||||
}
|
||||
|
||||
// SetAllFalse 將 Bitmap 中的所有位設置為 false(0)。
|
||||
func (b Bitmap) SetAllFalse() Bitmap {
|
||||
// 將 Bitmap 中的每個 byte 設置為 0,表示所有 bit 都為 0
|
||||
for i := range b {
|
||||
b[i] = 0
|
||||
}
|
||||
|
||||
return b
|
||||
}
|
||||
|
|
|
@ -135,3 +135,23 @@ func TestBitmap_UpdateFrom(t *testing.T) {
|
|||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestBitmap_SetAllTrueAndSetAllFalse(t *testing.T) {
|
||||
bitmap := MakeBitmapWithBitSize(128)
|
||||
|
||||
// 測試 SetAllTrue
|
||||
bitmap.SetAllTrue()
|
||||
for i := 0; i < bitmap.BitSize(); i++ {
|
||||
if !bitmap.IsTrue(uint32(i)) {
|
||||
t.Errorf("Expected bit %d to be true, but got false", i)
|
||||
}
|
||||
}
|
||||
|
||||
// 測試 SetAllFalse
|
||||
bitmap.SetAllFalse()
|
||||
for i := 0; i < bitmap.BitSize(); i++ {
|
||||
if bitmap.IsTrue(uint32(i)) {
|
||||
t.Errorf("Expected bit %d to be false, but got true", i)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue