From ea7ac520f3f7543ad9ceef5cb1a8f914b3cd24a6 Mon Sep 17 00:00:00 2001 From: Alex Hultman Date: Mon, 31 Oct 2022 22:47:36 +0100 Subject: [PATCH] Fix bloom filter warnings, simplify --- src/BloomFilter.h | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/BloomFilter.h b/src/BloomFilter.h index d5fdd0d..5d2398e 100644 --- a/src/BloomFilter.h +++ b/src/BloomFilter.h @@ -40,10 +40,10 @@ private: ScrambleArea getFeatures(std::string_view key) { ScrambleArea s; - s.p[0] = key[0]; - s.p[1] = key[key.length() - 1]; - s.p[2] = key[key.length() - 2]; - s.p[3] = key[key.length() >> 1]; + s.p[0] = reinterpret_cast(key[0]); + s.p[1] = reinterpret_cast(key[key.length() - 1]); + s.p[2] = reinterpret_cast(key[key.length() - 2]); + s.p[3] = reinterpret_cast(key[key.length() >> 1]); return s; } @@ -55,20 +55,20 @@ public: ScrambleArea s = getFeatures(key); s.val = perfectHash(s.val); - return filter.test(s.p[0]) & - filter.test(s.p[1]) & - filter.test(s.p[2]) & - filter.test(s.p[3]); + return filter[s.p[0]] && + filter[s.p[1]] && + filter[s.p[2]] && + filter[s.p[3]]; } void add(std::string_view key) { if (key.length() >= 2) { ScrambleArea s = getFeatures(key); s.val = perfectHash(s.val); - filter.set(s.p[0]); - filter.set(s.p[1]); - filter.set(s.p[2]); - filter.set(s.p[3]); + filter[s.p[0]] = 1; + filter[s.p[1]] = 1; + filter[s.p[2]] = 1; + filter[s.p[3]] = 1; } }