//Generating a k-in-m codeword for attribute Ai
bits codeword(char *attr_value, int m, int k)
{
int nbits = 0; // count of set bits
bits cword = 0; // assuming m <= 32 bits
// 类似于 seed(1) 定好seed 之后 下面random 值都是固定的
// for example attribute 传进来 只要是 china seed 就是固定的
srandom(hash(attr_value));
while (nbits < k) {
// 根据 seed 的 值 取 随机数
int i = random() % m;
if (((1 << i) & cword) == 0) {
cword |= (1 << i);
nbits++;
}
}
// m-bits with k 1-bits and m-k 0-bits
return cword;
}
cost page = bD + bQ
D是获取query index 所需要的pages
Q是用获取的query 与 有可能符合条件的 tuple 进行match 需要的pages