예제 #1
0
파일: main.py 프로젝트: shadowAnt/RAPPOR
def initBloomFilter(stringUnique):
    '''
    keyHashMat is (hahsLenth * keyNum)
    :param stringUnique:
    :return:
    '''
    print('---initialize Bloom Filter---')
    BF = BloomFilter(capacity=int(len(stringUnique) * 1.2), error_rate=0.30)
    keyHashMat = []
    for i in stringUnique:
        BF.add(i)
        keyHashMat.append([int(x) for x in BF.keyhash(i)])
    keyHashMat = np.mat(keyHashMat).T
    return BF, BF.num_bits, BF.bitarray, keyHashMat
예제 #2
0
f = BloomFilter(capacity=60, error_rate=0.30)

[f.add(x) for x in range(50)]

# print(9 in f)
# print('num of key: '+str(len(f)))
print(f.bitarray)  #the final array
# f.add('10')
# print(f.bitarray)
# print(len(f.bitarray))
print(f.num_bits)  #bloomFilter's size(length)
#
# a = bitarray.bitarray('0'*10)
# print(a)

print(f.keyhash(5))
#
#
#
# a = np.mat(np.array([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 1, ]]).T)
# y = np.mat(np.array([1, 1, 2, 2])).T
#
# num = np.mat(np.array([1, 1, 2])).T
#
# print(a)
# print(y)
#
# aa = np.mat(np.array([[1, 0, 0], [0, 1, 0], [0, 0, 1]]).T)
# yy = np.mat(np.array([1, 1, 2])).T
# print(solve(aa,yy))
#