tidwall
84d0d3bf75
Various new updates, features, and optimizations
...
Changes:
- Added xxhash3 hasher function.
- Added _with_hash functions for manually providing a hash to the
get, set, and delete functions. This makes the hash callback
that is given to the hashmap_new function optional.
- Added set_grow_by_power which defines how quickly the hashmap
grows when needed. Default is 1, which mean it doubles each
time it needs to grow, setting to 2 or 3 will grow by 4 or 8
respectively. Max 16.
- Default grow_at percentange has been changed from 0.75 to 0.60.
- The hash field now clipped with bitwise AND instead of shifting.
- The compare function is now optional. When not provided, the
clipped (48-bit) hash becomes the key.
- Code cleanup
2 years ago
tidwall
d630909937
Simplify Murmur return value
2 years ago
tidwall
5a55d0b0f5
Fix warnings for -Wall -Wextra
...
This commit fixes all warnings when the -Wall -Wextra compiler
options are provided. Tested with Clang and GCC.
2 years ago
Josh Baker
603792ba74
Merge pull request #25 from arthurep/fix_resize_new_hashmap
...
use hashmap_new_with_allocator instead of hashmap_new in resize()
2 years ago
Arthur Pinheiro
3d046197c9
use hashmap_new_with_allocator instead of hashmap_new in resize()
...
Also fix small typo where seed0 was being passed as both seed0 and
seed1 arguments to hashmap_new
2 years ago
tidwall
5a1f68a1aa
Add hashmap_iter example
3 years ago
tidwall
c151e16526
Add hashmap_iter example
3 years ago
Josh Baker
9bb1f630e3
Merge pull request #18 from scossu/iterator
...
Add hashmap_iter function.
3 years ago
Josh Baker
c5fec45f78
Merge pull request #19 from scossu/const_set
...
Make item in hashmap_set constant.
3 years ago
Stefano Cossu
0f03bd0417
Make item in hashmap_set constant.
3 years ago
Stefano Cossu
d9b23a5a4d
Remove unintended signature change.
3 years ago
Stefano Cossu
cdd1eff2ee
Add comment about hashmap_delete.
3 years ago
Stefano Cossu
774694ec6d
Correct cursor increase.
3 years ago
Stefano Cossu
86ac5d4b2d
Add hashmap_iter function.
3 years ago
Josh Baker
641b4c1bab
Merge pull request #11 from thcopeland/master
...
Allow passing an element-freeing function to hashmap_new
3 years ago
Tom Copeland
14ed10f4c5
Allow passing an element-freeing function to hashmap_new
...
If present, the function is then used in hashmap_clear and
hashmap_free to free any data referenced by the hashmap elements.
3 years ago
Josh Baker
c546ff8928
Merge pull request #13 from scossu/const_void_get
...
Make "key" argument of hashmap_get const void.
3 years ago
Stefano Cossu
aa1d058456
Make "key" argument of hashmap_get const void.
3 years ago
tidwall
9fb4b295a0
Added hashmap_new_with_allocator
...
Deprecated hashmap_set_allocator
See #6 for more information
4 years ago
tidwall
735eafed75
Remove file
4 years ago
Josh Baker
e9f2f692cb
Create FUNDING.yml
4 years ago
tidwall
5ea678af50
Fix overflow regression
...
This commit fixes a regression introduced in c039c88
(v0.3.1)
which causes a heap-buffer-overflow during hashmap_free.
fixes #10
4 years ago
tidwall
30b9a6cc88
Fix cast needed for MSVC
...
fixes #9
4 years ago
tidwall
c039c886f9
Removed VLA
4 years ago
Josh Baker
8c85b96e72
Merge pull request #2 from calebschoepp/patch-1
...
Improve wording of block comment for hashmap_new
4 years ago
tidwall
9dd095ec1b
Added hashmap_clear function
...
hashmap_clear quickly clears the map.
When the update_cap is provided, the map's capacity will be
updated to match the currently number of allocated buckets.
This is an optimization to ensure that this operation does
not perform any allocations.
closes #1
4 years ago
Caleb Schoepp
288abfa8df
Improve wording of block comment for hashmap_new
4 years ago
tidwall
3db84f0b0a
Added probe function
4 years ago
tidwall
01fb55d13a
Added package file
4 years ago
tidwall
f38213fffe
Added udata to comparator
4 years ago
tidwall
268ea2d9e6
Added oom tests
4 years ago
tidwall
991b63b5c9
first commit
4 years ago