1 #ifndef __CMPH_BRZ_STRUCTS_H__
2 #define __CMPH_BRZ_STRUCTS_H__
3 
4 #include "hash_state.h"
5 
6 struct __brz_data_t
7 {
8 	CMPH_ALGO algo;      // CMPH algo for generating the MPHFs for the buckets (Just CMPH_FCH and CMPH_BMZ8)
9 	cmph_uint32 m;       // edges (words) count
10 	double c;      // constant c
11 	cmph_uint8  *size;   // size[i] stores the number of edges represented by g[i][...].
12 	cmph_uint32 *offset; // offset[i] stores the sum: size[0] + size[1] + ... size[i-1].
13 	cmph_uint8 **g;      // g function.
14 	cmph_uint32 k;       // number of components
15 	hash_state_t **h1;
16 	hash_state_t **h2;
17 	hash_state_t * h0;
18 };
19 
20 struct __brz_config_data_t
21 {
22 	CMPH_HASH hashfuncs[3];
23 	CMPH_ALGO algo;      // CMPH algo for generating the MPHFs for the buckets (Just CMPH_FCH and CMPH_BMZ8)
24 	double c;      // constant c
25 	cmph_uint32 m;       // edges (words) count
26 	cmph_uint8  *size;   // size[i] stores the number of edges represented by g[i][...].
27 	cmph_uint32 *offset; // offset[i] stores the sum: size[0] + size[1] + ... size[i-1].
28 	cmph_uint8 **g;      // g function.
29 	cmph_uint8  b;       // parameter b.
30 	cmph_uint32 k;       // number of components
31 	hash_state_t **h1;
32 	hash_state_t **h2;
33 	hash_state_t * h0;
34 	cmph_uint32 memory_availability;
35 	cmph_uint8 * tmp_dir; // temporary directory
36 	FILE * mphf_fd; // mphf file
37 };
38 
39 #endif
40