Bitmap: Declare more variables as const

I miss Rust's immutability-by-default...
This commit is contained in:
apio 2023-01-21 23:04:21 +01:00
parent a6974b605e
commit 0e607c2fef
Signed by: apio
GPG Key ID: B8A7D06E42258954

View File

@ -24,7 +24,7 @@ void* Bitmap::move(void* new_location, usize new_location_size_in_bytes)
else else
memcpy(new_location, m_location, new_location_size_in_bytes); memcpy(new_location, m_location, new_location_size_in_bytes);
void* old_location = (void*)m_location; void* const old_location = (void*)m_location;
m_location = (u8*)new_location; m_location = (u8*)new_location;
m_size_in_bytes = new_location_size_in_bytes; m_size_in_bytes = new_location_size_in_bytes;
@ -36,8 +36,8 @@ void Bitmap::set(usize index, bool value)
{ {
expect(initialized(), "Bitmap was never initialized"); expect(initialized(), "Bitmap was never initialized");
expect(index < size(), "Bitmap access out of range"); expect(index < size(), "Bitmap access out of range");
u64 byte_index = index / 8; const u64 byte_index = index / 8;
u8 bit_mask = (u8)(0b10000000 >> (index % 8)); const u8 bit_mask = (u8)(0b10000000 >> (index % 8));
m_location[byte_index] &= (u8)(~bit_mask); m_location[byte_index] &= (u8)(~bit_mask);
if (value) { m_location[byte_index] |= bit_mask; } if (value) { m_location[byte_index] |= bit_mask; }
} }
@ -46,8 +46,8 @@ bool Bitmap::get(usize index) const
{ {
expect(initialized(), "Bitmap was never initialized"); expect(initialized(), "Bitmap was never initialized");
expect(index < size(), "Bitmap access out of range"); expect(index < size(), "Bitmap access out of range");
usize byte_index = index / 8; const usize byte_index = index / 8;
u8 bit_mask = (u8)(0b10000000 >> (index % 8)); const u8 bit_mask = (u8)(0b10000000 >> (index % 8));
return (m_location[byte_index] & bit_mask) > 0; return (m_location[byte_index] & bit_mask) > 0;
} }
@ -73,7 +73,7 @@ void Bitmap::clear_region(usize start, usize bits, bool value)
} }
// Clear out the rest in bytes. // Clear out the rest in bytes.
usize bytes = bits / 8; const usize bytes = bits / 8;
memset(&m_location[start / 8], value_byte(value), bytes); memset(&m_location[start / 8], value_byte(value), bytes);
start += bytes * 8; start += bytes * 8;
@ -163,7 +163,7 @@ Option<usize> Bitmap::find_region(bool value, usize count, usize begin) const
Option<usize> Bitmap::find_and_toggle_region(bool value, usize count, usize begin) Option<usize> Bitmap::find_and_toggle_region(bool value, usize count, usize begin)
{ {
usize index = TRY(find_region(value, count, begin)); const usize index = TRY(find_region(value, count, begin));
clear_region(index, count, !value); clear_region(index, count, !value);
return index; return index;
} }
@ -184,7 +184,7 @@ bool Bitmap::match_region(usize start, usize bits, bool value)
} }
// Match the rest in bytes. // Match the rest in bytes.
usize bytes = bits / 8; const usize bytes = bits / 8;
const u8 byte_that_contains_only_value = value_byte(value); const u8 byte_that_contains_only_value = value_byte(value);
for (usize i = start; i < start + bytes; i += 8) for (usize i = start; i < start + bytes; i += 8)