mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-10-31 19:46:16 +01:00
40 lines
1.3 KiB
C
40 lines
1.3 KiB
C
|
#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
|