Fix off-by-one in size calculations
This commit is contained in:
parent
2427a154cb
commit
13a01ffb27
@ -11,7 +11,8 @@
|
|||||||
#define HASH_BUCKET_SIZE (1 << (HASH_BUCKET_SIZE_LOG))
|
#define HASH_BUCKET_SIZE (1 << (HASH_BUCKET_SIZE_LOG))
|
||||||
|
|
||||||
// TODO: rename. Number of hash buckets.
|
// TODO: rename. Number of hash buckets.
|
||||||
#define LDM_HASHLOG ((LDM_MEMORY_USAGE)-4-HASH_BUCKET_SIZE_LOG)
|
// TODO: Link to HASH_ENTRY_SIZE_LOG
|
||||||
|
#define LDM_HASHLOG ((LDM_MEMORY_USAGE)-3-(HASH_BUCKET_SIZE_LOG))
|
||||||
//#define ZSTD_SKIP
|
//#define ZSTD_SKIP
|
||||||
|
|
||||||
struct LDM_hashTable {
|
struct LDM_hashTable {
|
||||||
|
@ -6,12 +6,12 @@
|
|||||||
|
|
||||||
|
|
||||||
#define LDM_HASHTABLESIZE (1 << (LDM_MEMORY_USAGE))
|
#define LDM_HASHTABLESIZE (1 << (LDM_MEMORY_USAGE))
|
||||||
//#define LDM_HASH_ENTRY_SIZE 4
|
#define LDM_HASH_ENTRY_SIZE_LOG 3
|
||||||
#define LDM_HASHTABLESIZE_U32 ((LDM_HASHTABLESIZE) >> 2)
|
#define LDM_HASHTABLESIZE_U32 ((LDM_HASHTABLESIZE) >> 2)
|
||||||
#define LDM_HASHTABLESIZE_U64 ((LDM_HASHTABLESIZE) >> 4)
|
#define LDM_HASHTABLESIZE_U64 ((LDM_HASHTABLESIZE) >> 3)
|
||||||
|
|
||||||
// Insert every (HASH_ONLY_EVERY + 1) into the hash table.
|
// Insert every (HASH_ONLY_EVERY + 1) into the hash table.
|
||||||
#define HASH_ONLY_EVERY_LOG (LDM_WINDOW_SIZE_LOG-((LDM_MEMORY_USAGE) - 4))
|
#define HASH_ONLY_EVERY_LOG (LDM_WINDOW_SIZE_LOG-((LDM_MEMORY_USAGE) - (LDM_HASH_ENTRY_SIZE_LOG)))
|
||||||
#define HASH_ONLY_EVERY ((1 << HASH_ONLY_EVERY_LOG) - 1)
|
#define HASH_ONLY_EVERY ((1 << HASH_ONLY_EVERY_LOG) - 1)
|
||||||
|
|
||||||
#define ML_BITS 4
|
#define ML_BITS 4
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
// Defines the size of the hash table.
|
// Defines the size of the hash table.
|
||||||
// Note that this is not the number of buckets.
|
// Note that this is not the number of buckets.
|
||||||
// Currently this should be less than WINDOW_SIZE_LOG + 4?
|
// Currently this should be less than WINDOW_SIZE_LOG + 4?
|
||||||
#define LDM_MEMORY_USAGE 23
|
#define LDM_MEMORY_USAGE 22
|
||||||
#define HASH_BUCKET_SIZE_LOG 3 // MAX is 4 for now
|
#define HASH_BUCKET_SIZE_LOG 3 // MAX is 4 for now
|
||||||
|
|
||||||
// Defines the lag in inserting elements into the hash table.
|
// Defines the lag in inserting elements into the hash table.
|
||||||
|
@ -7,17 +7,17 @@
|
|||||||
#include "ldm.h"
|
#include "ldm.h"
|
||||||
|
|
||||||
#define LDM_HASHTABLESIZE (1 << (LDM_MEMORY_USAGE))
|
#define LDM_HASHTABLESIZE (1 << (LDM_MEMORY_USAGE))
|
||||||
//#define LDM_HASH_ENTRY_SIZE 4
|
#define LDM_HASH_ENTRY_SIZE_LOG 3
|
||||||
#define LDM_HASHTABLESIZE_U32 ((LDM_HASHTABLESIZE) >> 2)
|
#define LDM_HASHTABLESIZE_U32 ((LDM_HASHTABLESIZE) >> 2)
|
||||||
#define LDM_HASHTABLESIZE_U64 ((LDM_HASHTABLESIZE) >> 4)
|
#define LDM_HASHTABLESIZE_U64 ((LDM_HASHTABLESIZE) >> 3)
|
||||||
|
|
||||||
// Insert every (HASH_ONLY_EVERY + 1) into the hash table.
|
// Insert every (HASH_ONLY_EVERY + 1) into the hash table.
|
||||||
#define HASH_ONLY_EVERY_LOG (LDM_WINDOW_SIZE_LOG-((LDM_MEMORY_USAGE) - 4))
|
#define HASH_ONLY_EVERY_LOG (LDM_WINDOW_SIZE_LOG-((LDM_MEMORY_USAGE) - (LDM_HASH_ENTRY_SIZE_LOG)))
|
||||||
#define HASH_ONLY_EVERY ((1 << HASH_ONLY_EVERY_LOG) - 1)
|
#define HASH_ONLY_EVERY ((1 << HASH_ONLY_EVERY_LOG) - 1)
|
||||||
|
|
||||||
/* Hash table stuff. */
|
/* Hash table stuff. */
|
||||||
#define HASH_BUCKET_SIZE (1 << (HASH_BUCKET_SIZE_LOG))
|
#define HASH_BUCKET_SIZE (1 << (HASH_BUCKET_SIZE_LOG))
|
||||||
#define LDM_HASHLOG ((LDM_MEMORY_USAGE)-4-HASH_BUCKET_SIZE_LOG)
|
#define LDM_HASHLOG ((LDM_MEMORY_USAGE)-(LDM_HASH_ENTRY_SIZE_LOG)-(HASH_BUCKET_SIZE_LOG))
|
||||||
|
|
||||||
#define ML_BITS 4
|
#define ML_BITS 4
|
||||||
#define ML_MASK ((1U<<ML_BITS)-1)
|
#define ML_MASK ((1U<<ML_BITS)-1)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user