2005-07-28 00:13:02 +03:00
|
|
|
#ifndef __CMPH_BRZ_STRUCTS_H__
|
|
|
|
#define __CMPH_BRZ_STRUCTS_H__
|
|
|
|
|
|
|
|
#include "hash_state.h"
|
|
|
|
|
|
|
|
struct __brz_data_t
|
|
|
|
{
|
2006-08-07 17:44:24 +03:00
|
|
|
CMPH_ALGO algo; // CMPH algo for generating the MPHFs for the buckets (Just CMPH_FCH and CMPH_BMZ8)
|
2005-07-28 00:13:02 +03:00
|
|
|
cmph_uint32 m; // edges (words) count
|
2008-04-12 09:17:21 +03:00
|
|
|
double c; // constant c
|
2005-07-28 00:13:02 +03:00
|
|
|
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;
|
2006-01-25 21:45:14 +02:00
|
|
|
hash_state_t * h0;
|
2005-07-28 00:13:02 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
struct __brz_config_data_t
|
|
|
|
{
|
|
|
|
CMPH_HASH hashfuncs[3];
|
2006-08-07 17:44:24 +03:00
|
|
|
CMPH_ALGO algo; // CMPH algo for generating the MPHFs for the buckets (Just CMPH_FCH and CMPH_BMZ8)
|
2008-04-12 09:17:21 +03:00
|
|
|
double c; // constant c
|
2005-07-28 00:13:02 +03:00
|
|
|
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.
|
2006-01-25 21:45:14 +02:00
|
|
|
cmph_uint8 b; // parameter b.
|
2005-07-28 00:13:02 +03:00
|
|
|
cmph_uint32 k; // number of components
|
|
|
|
hash_state_t **h1;
|
|
|
|
hash_state_t **h2;
|
2006-01-25 21:45:14 +02:00
|
|
|
hash_state_t * h0;
|
2005-09-06 17:11:37 +03:00
|
|
|
cmph_uint32 memory_availability;
|
2005-08-08 04:00:27 +03:00
|
|
|
cmph_uint8 * tmp_dir; // temporary directory
|
2006-01-25 21:45:14 +02:00
|
|
|
FILE * mphf_fd; // mphf file
|
2005-07-28 00:13:02 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|