From 0e95d2c61da7b7fbce76b0633313128b7440136e Mon Sep 17 00:00:00 2001 From: Soikk <76824648+Soikk@users.noreply.github.com> Date: Sat, 30 Jul 2022 17:35:47 +0200 Subject: [PATCH] added htable delete function --- hash-testing/main.c | 8 +++++--- hash-testing/main.exe | Bin 0 -> 50706 bytes include/storage.h | 2 ++ src/database.c | 6 ++++++ src/storage.c | 13 +++++++++++++ 5 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 hash-testing/main.exe diff --git a/hash-testing/main.c b/hash-testing/main.c index f95b391..23fdbbd 100644 --- a/hash-testing/main.c +++ b/hash-testing/main.c @@ -344,11 +344,13 @@ int main(){ while (fgets(line, sizeof(line), f)) { uint16_t l; char *nline = normalizeStr(line, &l); - uint64_t hash = crc64(0, nline, l); - if(isInArr(arr, hash)){ + uint64_t hash = crc64(SEED, nline, l); + //uint32_t hash = xcrc32(nline, l, SEED); + //uint32_t hash = murmurhash(nline, l, SEED); + /*if(isInArr(arr, hash)){ ++collisions; } - arr[i] = hash; + arr[i] = hash;*/ //printf("%s\t%08x\n", nline, hash); ++i; } diff --git a/hash-testing/main.exe b/hash-testing/main.exe new file mode 100644 index 0000000000000000000000000000000000000000..3d96212fbbe4719b34f5bd2aafb1bd8c474b77a7 GIT binary patch literal 50706 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 z70pL)size; ++i){ if(h == ht->table[i]){ @@ -151,6 +152,18 @@ uint64_t htableSearch(htable *ht, uint64_t h){ return -1; } +int htableDelete(htable *ht, uint64_t h){ + uint64_t i = htableSearch(ht, h); + if(i == -1){ + return -1; + } + ht->size--; + for(uint64_t j = i; j < ht->size-1; ++j){ + ht->table[j] = ht->table[j+1]; + } + return 0; +} + mtable *newMtable(uint64_t size){ mtable *mt = malloc(sizeof(mtable)); size = (((uint64_t)size) < 0) ? 0 : size; -- 2.39.5