Ejemplo n.º 1
0
 def testexists(self):
     bf = bloomfilter()
     bf.setData(100000000)
     bf.setData(100005000)
     bf.setData(100004000)
     bf.setData(100002000)
     
     self.assertEqual(True,bf.exists(100000000))
     self.assertEqual(True,bf.exists(100002000))
     self.assertEqual(True,bf.exists(100004000))
     self.assertEqual(True,bf.exists(100005000))
     
     self.assertEqual(False,bf.exists(100005001))
Ejemplo n.º 2
0
 def add(self, element):
     """
     Add a new element to the set. Return False if element is already in the set.
     Otherwise return True and the element is added in the filter.
     """
     element = str(element)
     if len(self.filter_list) == 0:
         # initialize the filter list
         one_filter = bloomfilter(capacity = self.total_capacity, error = self.error*(1. - self.r))
         one_filter.add(element)
         self.filter_list.append(one_filter)
         self.n_filters = self.n_filters + 1
         self.cnt = self.cnt + 1
         self.total_size = self.total_size + one_filter.size()
         return True
     elif self.check(element) == True:
         print("The element to be added:" + str(element) + " already exists.")
         return False
     else:
         num_filters = len(self.filter_list)
         last_filter = self.filter_list[num_filters - 1]
         
         # create a new filter
         if last_filter.count() == last_filter.capacity():
             one_filter = bloomfilter(capacity = last_filter.capacity()*self.s, error = last_filter.error*self.r)
             one_filter.add(element)
             self.filter_list.append(one_filter)
             self.n_filters = self.n_filters + 1
             self.cnt = self.cnt + 1
             self.total_capacity = self.total_capacity + one_filter.capacity()
             self.total_size = self.total_size + one_filter.size()
             return True
         else:
             last_filter.add(element)
             self.cnt = self.cnt + 1
             return True
Ejemplo n.º 3
0
 def __init__(self, config):
     super(dupcheck, self).__init__()
     self.config = config
     self.bf = bloomfilter(self.config.bf_config())
Ejemplo n.º 4
0
 def testgetHashList(self):
     bf = bloomfilter()
     l = bf.getHashList(200000000)
     self.assertEqual( 10,len(l))
     self.assertEqual([98, 128, 162, 200, 242, 288, 338, 392, 450, 512], l)