def test_reset(self): ba = BitArray(10, 1) for i in xrange(10): self.assertTrue(ba.get_bit(i)) ba.reset_bit(6) self.assertFalse(ba.get_bit(6))
def test_one_bit(self): ba = BitArray(32) for i in xrange(32): self.assertFalse(ba.get_bit(i)) ba.set_bit(5) self.assertTrue(ba.get_bit(5)) self.assertFalse(ba.get_bit(4)) self.assertFalse(ba.get_bit(6))
def test_big_number(self): ba = BitArray(2 ** 32) bignum = 2 ** 20 self.assertFalse(ba.get_bit(bignum)) ba.set_bit(bignum) self.assertTrue(ba.get_bit(bignum)) self.assertFalse(ba.get_bit(bignum + 1)) self.assertFalse(ba.get_bit(bignum - 1))
def sieve(MAX): ba = BitArray(MAX, initialize=1) for n in xrange(2, MAX, 2): ba.reset_bit(n) limit = math.sqrt(MAX) limit = math.floor(limit) limit = int(limit) for n in xrange(3, limit, 2): if ba.get_bit(n): for i in xrange(n * 2, MAX, n): ba.reset_bit(i) """
def test_initialize(self): ba = BitArray(10, 1) for i in xrange(10): self.assertTrue(ba.get_bit(i))
def test_small_array(self): ba = BitArray(10) self.assertFalse(ba.get_bit(6)) ba.set_bit(6) self.assertTrue(ba.get_bit(6))