hashindex: always have at least 1 empty bucket

avoid rounding / integer conversion issues bringing this down to 0.
This commit is contained in:
Thomas Waldmann 2023-02-08 16:23:10 +01:00
parent 4f8c4aea19
commit 4fc7815f11
No known key found for this signature in database
GPG Key ID: 243ACFA951F78E01
1 changed files with 4 additions and 2 deletions

View File

@ -253,8 +253,10 @@ int get_upper_limit(int num_buckets){
}
int get_min_empty(int num_buckets){
/* Differently from load, the effective load also considers tombstones (deleted buckets). */
return (int)(num_buckets * (1.0 - HASH_MAX_EFF_LOAD));
/* Differently from load, the effective load also considers tombstones (deleted buckets).
* We always add 1, so this never can return 0 (0 empty buckets would be a bad HT state).
*/
return 1 + (int)(num_buckets * (1.0 - HASH_MAX_EFF_LOAD));
}
int size_idx(int size){