| #ifndef __CMPH_BRZ_STRUCTS_H__ |
| #define __CMPH_BRZ_STRUCTS_H__ |
| |
| #include "hash_state.h" |
| |
| struct __brz_data_t |
| { |
| CMPH_ALGO algo; // CMPH algo for generating the MPHFs for the buckets (Just CMPH_FCH and CMPH_BMZ8) |
| cmph_uint32 m; // edges (words) count |
| double c; // constant c |
| cmph_uint8 *size; // size[i] stores the number of edges represented by g[i][...]. |
| cmph_uint32 *offset; // offset[i] stores the sum: size[0] + size[1] + ... size[i-1]. |
| cmph_uint8 **g; // g function. |
| cmph_uint32 k; // number of components |
| hash_state_t **h1; |
| hash_state_t **h2; |
| hash_state_t * h0; |
| }; |
| |
| struct __brz_config_data_t |
| { |
| CMPH_HASH hashfuncs[3]; |
| CMPH_ALGO algo; // CMPH algo for generating the MPHFs for the buckets (Just CMPH_FCH and CMPH_BMZ8) |
| double c; // constant c |
| cmph_uint32 m; // edges (words) count |
| cmph_uint8 *size; // size[i] stores the number of edges represented by g[i][...]. |
| cmph_uint32 *offset; // offset[i] stores the sum: size[0] + size[1] + ... size[i-1]. |
| cmph_uint8 **g; // g function. |
| cmph_uint8 b; // parameter b. |
| cmph_uint32 k; // number of components |
| hash_state_t **h1; |
| hash_state_t **h2; |
| hash_state_t * h0; |
| cmph_uint32 memory_availability; |
| cmph_uint8 * tmp_dir; // temporary directory |
| FILE * mphf_fd; // mphf file |
| }; |
| |
| #endif |