Example #1
0
	def test_rank2(self):
		rb = RoaringBitmap(range(0, 100000, 7))
		rb.update(range(100000, 200000, 1000))
		for k in range(100000):
			assert rb.rank(k) == 1 + k // 7
		for k in range(100000, 200000):
			assert rb.rank(k) == 1 + 100000 // 7 + 1 + (k - 100000) // 1000
Example #2
0
 def test_rank2(self):
     rb = RoaringBitmap(range(0, 100000, 7))
     rb.update(range(100000, 200000, 1000))
     for k in range(100000):
         assert rb.rank(k) == 1 + k // 7
     for k in range(100000, 200000):
         assert rb.rank(k) == 1 + 100000 // 7 + 1 + (k - 100000) // 1000
Example #3
0
	def test_select(self, single):
		for data in single:
			ref = sorted(set(data))
			rb = RoaringBitmap(data)
			lrb = list(rb)
			idx = [random.randint(0, len(ref)) for _ in range(10)]
			for i in idx:
				assert lrb[i] == ref[i]
				assert rb.select(i) in rb
				assert rb.select(i) == ref[i]
				assert rb.rank(rb.select(i)) - 1 == i
				if rb.select(i) + 1 in rb:
					assert rb.rank(rb.select(i) + 1) - 1 == i + 1
				else:
					assert rb.rank(rb.select(i) + 1) - 1 == i
Example #4
0
 def test_select(self, single):
     for data in single:
         ref = sorted(set(data))
         rb = RoaringBitmap(data)
         lrb = list(rb)
         idx = [random.randint(0, len(ref)) for _ in range(10)]
         for i in idx:
             assert lrb[i] == ref[i]
             assert rb.select(i) in rb
             assert rb.select(i) == ref[i]
             assert rb.rank(rb.select(i)) - 1 == i
             if rb.select(i) + 1 in rb:
                 assert rb.rank(rb.select(i) + 1) - 1 == i + 1
             else:
                 assert rb.rank(rb.select(i) + 1) - 1 == i
Example #5
0
	def test_rank(self, single):
		for name, data in single:
			ref = sorted(set(data))
			rb = RoaringBitmap(data)
			for _ in range(10):
				x = random.choice(ref)
				assert x in rb, name
				assert rb.rank(x) == ref.index(x) + 1, name
Example #6
0
 def test_rank(self, single):
     for name, data in single:
         ref = sorted(set(data))
         rb = RoaringBitmap(data)
         for _ in range(10):
             x = random.choice(ref)
             assert x in rb, name
             assert rb.rank(x) == ref.index(x) + 1, name
Example #7
0
 def test_select(self, single):
     for name, data in single:
         if len(data) == 0:
             continue
         ref = sorted(set(data))
         rb = RoaringBitmap(data)
         lrb = list(rb)
         idx = [randint(0, len(ref) - 1) for _ in range(10)]
         for i in idx:
             assert lrb[i] == ref[i], (name, i, len(ref))
             assert rb.select(i) in rb, name
             assert rb.select(i) == ref[i], name
             assert rb[i] == ref[i], name
             assert rb.rank(rb.select(i)) - 1 == i, name
             if rb.select(i) + 1 in rb:
                 assert rb.rank(rb.select(i) + 1) - 1 == i + 1, name
             else:
                 assert rb.rank(rb.select(i) + 1) - 1 == i, name
Example #8
0
	def test_rank(self, single):
		for data in single:
			ref = sorted(set(data))
			rb = RoaringBitmap(data)
			print(len(rb))
			for _ in range(10):
				x = random.choice(ref)
				assert x in rb
				assert rb.rank(x) == ref.index(x) + 1
Example #9
0
 def test_rank(self, single):
     for data in single:
         ref = sorted(set(data))
         rb = RoaringBitmap(data)
         print(len(rb))
         for _ in range(10):
             x = random.choice(ref)
             assert x in rb
             assert rb.rank(x) == ref.index(x) + 1