Exemplo n.º 1
0
    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))
Exemplo n.º 2
0
    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))
Exemplo n.º 3
0
    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))
Exemplo n.º 4
0
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)

    """
Exemplo n.º 5
0
 def test_initialize(self):
     ba = BitArray(10, 1)
     for i in xrange(10):
         self.assertTrue(ba.get_bit(i))
Exemplo n.º 6
0
    def test_small_array(self):
        ba = BitArray(10)
        self.assertFalse(ba.get_bit(6))

        ba.set_bit(6)
        self.assertTrue(ba.get_bit(6))