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