AK: Rename double_hash to rehash_for_collision

The name is currently quite confusing as it indicates it hashes doubles.
This commit is contained in:
Timothy Flynn 2023-01-20 15:25:33 -05:00 committed by Jelle Raaijmakers
parent dbc04bbf1b
commit 4f5353cbb8
3 changed files with 8 additions and 8 deletions

View file

@ -19,7 +19,7 @@ constexpr unsigned int_hash(u32 key)
return key; return key;
} }
constexpr unsigned double_hash(u32 key) constexpr unsigned rehash_for_collision(u32 key)
{ {
unsigned const magic = 0xBA5EDB01; unsigned const magic = 0xBA5EDB01;
if (key == magic) if (key == magic)

View file

@ -594,7 +594,7 @@ private:
} }
} else if (target_bucket->state == BucketState::Rehashed) { } else if (target_bucket->state == BucketState::Rehashed) {
// If the target bucket is already re-hashed, we do normal probing. // If the target bucket is already re-hashed, we do normal probing.
target_hash = double_hash(target_hash); target_hash = rehash_for_collision(target_hash);
target_bucket = &m_buckets[target_hash % m_capacity]; target_bucket = &m_buckets[target_hash % m_capacity];
} else { } else {
VERIFY(target_bucket->state != BucketState::End); VERIFY(target_bucket->state != BucketState::End);
@ -676,7 +676,7 @@ private:
if (bucket.state != BucketState::Used && bucket.state != BucketState::Deleted) if (bucket.state != BucketState::Used && bucket.state != BucketState::Deleted)
return nullptr; return nullptr;
hash = double_hash(hash); hash = rehash_for_collision(hash);
} }
} }
@ -703,7 +703,7 @@ private:
return const_cast<BucketType*>(first_empty_bucket); return const_cast<BucketType*>(first_empty_bucket);
} }
hash = double_hash(hash); hash = rehash_for_collision(hash);
} }
} }
[[nodiscard]] BucketType& lookup_for_writing(T const& value) [[nodiscard]] BucketType& lookup_for_writing(T const& value)

View file

@ -15,11 +15,11 @@ TEST_CASE(int_hash)
static_assert(int_hash(0) == 1177991625u); static_assert(int_hash(0) == 1177991625u);
} }
TEST_CASE(double_hash) TEST_CASE(rehash_for_collision)
{ {
static_assert(double_hash(666) == 171644115u); static_assert(rehash_for_collision(666) == 171644115u);
static_assert(double_hash(0) == 1189591134u); static_assert(rehash_for_collision(0) == 1189591134u);
static_assert(double_hash(0xBA5EDB01) == 0u); static_assert(rehash_for_collision(0xBA5EDB01) == 0u);
} }
TEST_CASE(pair_int_hash) TEST_CASE(pair_int_hash)