47 std::cout <<
"Error - Invalid set of bloom filter parameters!" << std::endl;
56 std::string str_list[] = {
"AbC",
"iJk",
"XYZ" };
61 for (std::size_t i = 0; i < (
sizeof(str_list) /
sizeof(std::string)); ++i)
63 filter.
insert(str_list[i]);
67 for (std::size_t i = 0; i < 100; ++i)
76 for (std::size_t i = 0; i < (
sizeof(str_list) /
sizeof(std::string)); ++i)
80 std::cout <<
"BF contains: " << str_list[i] << std::endl;
85 for (std::size_t i = 0; i < 100; ++i)
89 std::cout <<
"BF contains: " << i << std::endl;
93 std::string invalid_str_list[] = {
"AbCX",
"iJkX",
"XYZX" };
96 for (std::size_t i = 0; i < (
sizeof(invalid_str_list) /
sizeof(std::string)); ++i)
98 if (filter.
contains(invalid_str_list[i]))
100 std::cout <<
"BF falsely contains: " << invalid_str_list[i] << std::endl;
105 for (
int i = -1; i > -100; --i)
109 std::cout <<
"BF falsely contains: " << i << std::endl;
virtual bool compute_optimal_parameters()
unsigned long long int random_seed
void insert(const unsigned char *key_begin, const std::size_t &length)
double false_positive_probability
virtual bool contains(const unsigned char *key_begin, const std::size_t length) const
unsigned long long int projected_element_count