2 Star 0 Fork 0

mirrors_jedisct1/bloom-filter

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
bloom.h 838 Bytes
一键复制 编辑 原始数据 按行查看 历史
Frank Denis 提交于 2013-04-24 14:14 . Just include
#ifndef __BLOOM_H__
#define __BLOOM_H__ 1
#include <stdint.h>
#include <stdlib.h>
#include <sodium.h>
typedef struct Bloom_ {
unsigned char skeys[2][crypto_shorthash_siphash24_KEYBYTES];
unsigned char *bitmap;
uint64_t bitmap_bits;
size_t k_num;
} Bloom;
Bloom * bloom_new(const size_t bitmap_size, const size_t items_count);
size_t bloom_compute_bitmap_size(const size_t items_count, const double fp_p);
void bloom_free(Bloom * const bloom);
void bloom_set(const Bloom * const bloom, const char * const item,
const size_t item_len);
_Bool bloom_check(const Bloom * const bloom, const char * const item,
const size_t item_len);
_Bool bloom_check_and_set(const Bloom * const bloom, const char * const item,
const size_t item_len);
#endif
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/mirrors_jedisct1/bloom-filter.git
git@gitee.com:mirrors_jedisct1/bloom-filter.git
mirrors_jedisct1
bloom-filter
bloom-filter
master

搜索帮助