blob: 6ec7173843fff7457b6f0e7570e2b51c42efa2da (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
/*-------------------------------------------------------------------------
*
* bloomfilter.h
* Space-efficient set membership testing
*
* Copyright (c) 2018-2024, PostgreSQL Global Development Group
*
* IDENTIFICATION
* src/include/lib/bloomfilter.h
*
*-------------------------------------------------------------------------
*/
#ifndef BLOOMFILTER_H
#define BLOOMFILTER_H
typedef struct bloom_filter bloom_filter;
extern bloom_filter *bloom_create(int64 total_elems, int bloom_work_mem,
uint64 seed);
extern void bloom_free(bloom_filter *filter);
extern void bloom_add_element(bloom_filter *filter, unsigned char *elem,
size_t len);
extern bool bloom_lacks_element(bloom_filter *filter, unsigned char *elem,
size_t len);
extern double bloom_prop_bits_set(bloom_filter *filter);
#endif /* BLOOMFILTER_H */
|