summaryrefslogtreecommitdiff
path: root/girepository/cmph/brz_structs.h
diff options
context:
space:
mode:
Diffstat (limited to 'girepository/cmph/brz_structs.h')
-rwxr-xr-xgirepository/cmph/brz_structs.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/girepository/cmph/brz_structs.h b/girepository/cmph/brz_structs.h
new file mode 100755
index 00000000..b781107f
--- /dev/null
+++ b/girepository/cmph/brz_structs.h
@@ -0,0 +1,39 @@
+#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