-
Notifications
You must be signed in to change notification settings - Fork 50
Open
Labels
Description
I'm using CuckooFilter to test the membership of the following items. The filter returns false - definitely not in the list - for 2 items. These cases are false negatives which should not happen.
Is this a bug or am I missing something?
Version: "bloom-filters": "^3.0.1"
import { CuckooFilter } from "bloom-filters";
const items = [
"https://www.youtube.com/watch?v=HJjxN05ewEc",
"https://www.youtube.com/watch?v=BZNUo7orS3k",
"https://www.youtube.com/watch?v=SD-McWZz_pk",
"https://www.youtube.com/watch?v=De4QjH9fpgo",
"https://www.youtube.com/watch?v=Hzko-cjHhTg",
"https://www.youtube.com/watch?v=vqR-8lgOmBE",
"https://www.youtube.com/watch?v=j6u0LH67YLk",
"https://www.youtube.com/watch?v=B2z8ikGLRh8",
"https://www.youtube.com/watch?v=N3ftBeP16TA",
"https://www.youtube.com/watch?v=38RBRPwODUk",
"https://www.youtube.com/watch?v=Ry8nSUfX6fY",
"https://www.youtube.com/watch?v=-KrYohUJvYw",
"https://www.youtube.com/watch?v=zRpl7Pr0fs4",
"https://www.youtube.com/watch?v=uYYiypp6WaY",
"https://www.youtube.com/watch?v=EPap21FBGbE",
"https://www.youtube.com/watch?v=zN2_0WC7UfU",
"https://www.youtube.com/watch?v=DNVwnkgTzbY",
];
const errorRate = 0.04; // 4 % error rate
const filter = CuckooFilter.from(items, errorRate);
console.log(filter.has("hello")); // return false (ok)
console.log(filter.has("https://www.youtube.com/watch?v=HJjxN05ewEc")); // return true (ok)
console.log(filter.has("https://www.youtube.com/watch?v=38RBRPwODUk")); // return false (false negative)
console.log(filter.has("https://www.youtube.com/watch?v=-KrYohUJvYw")); // return false (false negative)
Reactions are currently unavailable