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