Hendiadyoin1
5bf84a5b0e
AK: Zero previous pointer *after* fixing the insertion list in HashTable
2022-06-23 20:25:12 +03:00
Andreas Kling
ede818cbf9
AK: Disable the HashTable<double> test until UB issue is fixed
2022-04-11 00:11:53 +02:00
Andreas Kling
ae6b09f4dc
AK: Add hash traits for floating-point primitives
...
This allows us to use float and double as hash keys.
2022-04-10 12:39:44 +02:00
Idan Horowitz
086969277e
Everywhere: Run clang-format
2022-04-01 21:24:45 +01:00
kleines Filmröllchen
8dc24d0256
Tests: Test non-trivial re-hashing in HashTable
...
This caused a system-wide crash because of a previous bug relating to
non-trivial types in HashTable. Therefore, check that such types
actually work under various workloads.
2022-03-31 12:06:13 +02:00
kleines Filmröllchen
e73e579446
Tests: Introduce a HashTable benchmark for "table thrashing"
...
Thrashing is what I call the situations where a table is mostly filled
with deleted markers, causing an increase in size (at least temporarily)
when a simple re-hash would be enough to get rid of those. This happens
when a hash table (especially with many elements) has a lot of deletes
and re-inserts done to it, which is what this benchmark does.
2022-03-31 12:06:13 +02:00
Andreas Kling
455224d476
AK: Add test for unbounded HashTable capacity leak
2022-03-07 00:08:22 +01:00
Andreas Kling
8f5c1ef29c
AK: Improve HashTable::remove_all_matching() test slightly
...
After removing some entries, we now also verify that the correct
entries remain in the table. :^)
2022-01-05 18:57:14 +01:00
Andreas Kling
5279a04c78
AK: Make Hash{Map,Table}::remove_all_matching() return removal success
...
These functions now return whether one or more entries were removed.
2022-01-05 18:57:14 +01:00
Andreas Kling
54cf42fac1
AK: Add HashTable::remove_all_matching(predicate)
...
This removes all matching entries from a table in a single pass.
2022-01-05 18:57:14 +01:00
Andreas Kling
c584421592
AK: Make HashTable::operator=(HashTable&&) clear the moved-from table
...
This is consistent with how other AK containers behave when moved from.
2021-05-30 14:34:32 +02:00
Brian Gianforcaro
67322b0702
Tests: Move AK tests to Tests/AK
2021-05-06 17:54:28 +02:00