예제 #1
0
 def test_powers_of_two(self):
     self.assertEqual(tuple(powers_of_two(-1)), ())
     self.assertEqual(tuple(powers_of_two(0)), ())
     self.assertEqual(tuple(powers_of_two(2)), (1,))
     self.assertEqual(tuple(powers_of_two(3)), (1, 2))
     self.assertEqual(tuple(powers_of_two(5)), (1, 2, 4))
     self.assertEqual(tuple(powers_of_two(9)), (1, 2, 4, 8))
     self.assertEqual(tuple(powers_of_two(300)), (1, 2, 4, 8, 16, 32, 64, 128, 256))
     self.assertEqual(tuple(powers_of_two(2500)), (1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048))
     self.assertEqual(tuple(powers_of_two(4194305)), (1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 262144, 524288, 1048576, 2097152, 4194304))
     self.assertEqual(tuple(powers_of_two(134217729)), (1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 262144, 524288, 1048576, 2097152, 4194304, 8388608, 16777216, 33554432, 67108864, 134217728))
def listPowersOfTwo( limit ):
    return [ x for x in powers_of_two( limit ) ]
def listPowersOfTwo(limit):
    return [x for x in powers_of_two(limit)]
예제 #4
0
 def test_powers_of_two(self):
     self.assertEqual(tuple(powers_of_two(1)),(1,))
     self.assertEqual(tuple(powers_of_two(7)),(1,2,4))
     self.assertEqual(tuple(powers_of_two(8)),(1,2,4,8))
     self.assertEqual(tuple(powers_of_two(15)),(1,2,4,8))
     self.assertEqual(tuple(powers_of_two(16)),(1,2,4,8,16))
     self.assertEqual(tuple(powers_of_two(17)),(1,2,4,8,16))
     self.assertEqual(tuple(powers_of_two(31)),(1,2,4,8,16))
     self.assertEqual(tuple(powers_of_two(32)),(1,2,4,8,16,32))
     self.assertEqual(tuple(powers_of_two(33)),(1,2,4,8,16,32))
     self.assertEqual(tuple(powers_of_two(70)),(1,2,4,8,16,32,64))
     self.assertEqual(tuple(powers_of_two(130)),(1,2,4,8,16,32,64,128))
     self.assertEqual(tuple(powers_of_two(255)),(1,2,4,8,16,32,64,128))
     self.assertEqual(tuple(powers_of_two(256)),(1,2,4,8,16,32,64,128,256))
     self.assertEqual(tuple(powers_of_two(65536)),(1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536))
     self.assertEqual(tuple(powers_of_two(-22)),())
     self.assertEqual(tuple(powers_of_two(0)),())
    def test_powers_of_two(self) :
        # Small positive number that is a power of 2
        data = [1, 2, 4, 8]
        generator = []
        for x in powers_of_two(8) :
            generator.append(x)

        self.assertEqual(data, generator)

        # Small positive whole number
        data = [1, 2, 4, 8, 16, 32, 64]
        generator = []
        for x in powers_of_two(70) :
            generator.append(x)

        self.assertEqual(data, generator)

        # Small positive floating point number
        data, generator = [1, 2], []
        for x in powers_of_two(2.5) :
            generator.append(x)

        self.assertEqual(data, generator)

        # Large positive whole number (2^64 + 1)
        data = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072,
                262144, 524288, 1048576, 2097152, 4194304, 8388608, 16777216, 33554432, 67108864,
                134217728, 268435456, 536870912, 1073741824, 2147483648, 4294967296, 8589934592,
                17179869184, 34359738368, 68719476736, 137438953472, 274877906944, 549755813888,
                1099511627776, 2199023255552, 4398046511104, 8796093022208, 17592186044416, 35184372088832, 
                70368744177664, 140737488355328, 281474976710656, 562949953421312, 1125899906842624, 2251799813685248, 
                4503599627370496, 9007199254740992, 18014398509481984, 36028797018963968, 72057594037927936, 
                144115188075855872, 288230376151711744, 576460752303423488, 1152921504606846976, 2305843009213693952, 
                4611686018427387904, 9223372036854775808, 18446744073709551616]
        generator = []
        for x in powers_of_two(18446744073709551617) :
            generator.append(x)

        self.assertEqual(data, generator)

        # Large negative whole number (-(2^64) - 1)
        data, generator = [], []
        for x in powers_of_two(-18446744073709551617) :
            generator.append(x)

        self.assertEqual(data, generator)

        # Small negative whole number
        generator = []
        for x in powers_of_two(-10) :
            generator.append(x)

        self.assertEqual(data, generator)

        # Zero
        generator = []
        for x in powers_of_two(0) :
            generator.append(x)

        self.assertEqual(data, generator)

        # Small, negative floating point number
        generator = []
        for x in powers_of_two(-2.5) :
            generator.append(x)

        self.assertEqual(data, generator)

        # Small, positive floating point less than one 
        generator = []
        for x in powers_of_two(0.5) :
            generator.append(x)

        self.assertEqual(data, generator)

        # Small, negative floating point greater than negative one 
        generator = []
        for x in powers_of_two(-0.5) :
            generator.append(x)

        self.assertEqual(data, generator)
예제 #6
0
 def test_powers_of_two(self):
     self.assertEqual(tuple(powers_of_two(1)), (1, ))
     self.assertEqual(tuple(powers_of_two(7)), (1, 2, 4))
     self.assertEqual(tuple(powers_of_two(8)), (1, 2, 4, 8))
     self.assertEqual(tuple(powers_of_two(15)), (1, 2, 4, 8))
     self.assertEqual(tuple(powers_of_two(16)), (1, 2, 4, 8, 16))
     self.assertEqual(tuple(powers_of_two(17)), (1, 2, 4, 8, 16))
     self.assertEqual(tuple(powers_of_two(31)), (1, 2, 4, 8, 16))
     self.assertEqual(tuple(powers_of_two(32)), (1, 2, 4, 8, 16, 32))
     self.assertEqual(tuple(powers_of_two(33)), (1, 2, 4, 8, 16, 32))
     self.assertEqual(tuple(powers_of_two(70)), (1, 2, 4, 8, 16, 32, 64))
     self.assertEqual(tuple(powers_of_two(130)),
                      (1, 2, 4, 8, 16, 32, 64, 128))
     self.assertEqual(tuple(powers_of_two(255)),
                      (1, 2, 4, 8, 16, 32, 64, 128))
     self.assertEqual(tuple(powers_of_two(256)),
                      (1, 2, 4, 8, 16, 32, 64, 128, 256))
     self.assertEqual(tuple(powers_of_two(65536)),
                      (1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048,
                       4096, 8192, 16384, 32768, 65536))
     self.assertEqual(tuple(powers_of_two(-22)), ())
     self.assertEqual(tuple(powers_of_two(0)), ())