From 4f5353cbb8f01e17d0cc09a0244d9dc2ef4c37f2 Mon Sep 17 00:00:00 2001 From: Timothy Flynn Date: Fri, 20 Jan 2023 15:25:33 -0500 Subject: [PATCH] AK: Rename double_hash to rehash_for_collision The name is currently quite confusing as it indicates it hashes doubles. --- AK/HashFunctions.h | 2 +- AK/HashTable.h | 6 +++--- Tests/AK/TestHashFunctions.cpp | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/AK/HashFunctions.h b/AK/HashFunctions.h index f20e446589..b36fd1d60a 100644 --- a/AK/HashFunctions.h +++ b/AK/HashFunctions.h @@ -19,7 +19,7 @@ constexpr unsigned int_hash(u32 key) return key; } -constexpr unsigned double_hash(u32 key) +constexpr unsigned rehash_for_collision(u32 key) { unsigned const magic = 0xBA5EDB01; if (key == magic) diff --git a/AK/HashTable.h b/AK/HashTable.h index d4238aafaf..4754e3da41 100644 --- a/AK/HashTable.h +++ b/AK/HashTable.h @@ -594,7 +594,7 @@ private: } } else if (target_bucket->state == BucketState::Rehashed) { // 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]; } else { VERIFY(target_bucket->state != BucketState::End); @@ -676,7 +676,7 @@ private: if (bucket.state != BucketState::Used && bucket.state != BucketState::Deleted) return nullptr; - hash = double_hash(hash); + hash = rehash_for_collision(hash); } } @@ -703,7 +703,7 @@ private: return const_cast(first_empty_bucket); } - hash = double_hash(hash); + hash = rehash_for_collision(hash); } } [[nodiscard]] BucketType& lookup_for_writing(T const& value) diff --git a/Tests/AK/TestHashFunctions.cpp b/Tests/AK/TestHashFunctions.cpp index f5750c887e..b440380d2c 100644 --- a/Tests/AK/TestHashFunctions.cpp +++ b/Tests/AK/TestHashFunctions.cpp @@ -15,11 +15,11 @@ TEST_CASE(int_hash) static_assert(int_hash(0) == 1177991625u); } -TEST_CASE(double_hash) +TEST_CASE(rehash_for_collision) { - static_assert(double_hash(666) == 171644115u); - static_assert(double_hash(0) == 1189591134u); - static_assert(double_hash(0xBA5EDB01) == 0u); + static_assert(rehash_for_collision(666) == 171644115u); + static_assert(rehash_for_collision(0) == 1189591134u); + static_assert(rehash_for_collision(0xBA5EDB01) == 0u); } TEST_CASE(pair_int_hash)