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
|
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