Beispiel #1
0
	def test_select(self, single):
		for name, data in single:
			ref = sorted(set(data))
			rb = ImmutableRoaringBitmap(data)
			lrb = list(rb)
			idx = [random.randint(0, len(ref) - 1) for _ in range(10)]
			for i in idx:
				assert lrb[i] == ref[i], name
				assert rb.select(i) in rb, name
				assert rb.select(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
Beispiel #2
0
 def test_select(self, single):
     for name, data in single:
         ref = sorted(set(data))
         rb = ImmutableRoaringBitmap(data)
         lrb = list(rb)
         idx = [random.randint(0, len(ref) - 1) for _ in range(10)]
         for i in idx:
             assert lrb[i] == ref[i], name
             assert rb.select(i) in rb, name
             assert rb.select(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
Beispiel #3
0
 def test_select2(self):
     gap = 1
     while gap <= 1024:
         rb = ImmutableRoaringBitmap(range(0, 100000, gap))
         for k in range(0, 100000 // gap):
             assert rb.select(k) == k * gap
         gap *= 2
Beispiel #4
0
	def test_select2(self):
		gap = 1
		while gap <= 1024:
			rb = ImmutableRoaringBitmap(range(0, 100000, gap))
			for k in range(0, 100000 // gap):
				assert rb.select(k) == k * gap
			gap *= 2