forked from ot/partitioned_elias_fano
-
Notifications
You must be signed in to change notification settings - Fork 1
/
global_parameters.hpp
33 lines (28 loc) · 1.1 KB
/
global_parameters.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#pragma once
namespace quasi_succinct {
struct global_parameters {
global_parameters()
: ef_log_sampling0(9)
, ef_log_sampling1(8)
, rb_log_rank1_sampling(9)
, rb_log_sampling1(8)
, log_partition_size(7)
{}
template <typename Visitor>
void map(Visitor& visit)
{
visit
(ef_log_sampling0, "ef_log_sampling0")
(ef_log_sampling1, "ef_log_sampling1")
(rb_log_rank1_sampling, "rb_log_rank1_sampling")
(rb_log_sampling1, "rb_log_sampling1")
(log_partition_size, "log_partition_size")
;
}
uint8_t ef_log_sampling0; /* elias-fano 相关参数,0表示间隔符*/
uint8_t ef_log_sampling1; /* elias-fano 相关参数,1表示计数符*/
uint8_t rb_log_rank1_sampling; /* ranked bitvector 相关参数*/
uint8_t rb_log_sampling1; /* ranked bitvector 相关参数*/
uint8_t log_partition_size; /* 用于uniform partition的参数*/
};
}