def test_bit_length_correct(self): numbers = [ -12, 12, 1200, 120091, 123456789, ] for num in numbers: if num < 0: length = len(bin(num, None)) - 1 else: length = len(bin(num, None)) self.assertEqual(builtins.integer_bit_length(num), length) self.assertEqual(_alt_builtins.integer_bit_length_shift_counting(num), length) self.assertEqual(_alt_builtins.integer_bit_length_word_aligned(num), length) self.assertEqual(builtins.integer_bit_length(1023), 10) self.assertEqual(builtins.integer_bit_length(1024), 11) self.assertEqual(builtins.integer_bit_length(1025), 11) self.assertEqual(builtins.integer_bit_length(1 << 1024), 1025) self.assertEqual(builtins.integer_bit_length((1 << 1024) + 1), 1025) self.assertEqual(builtins.integer_bit_length((1 << 1024) - 1), 1024) self.assertEqual(builtins.integer_bit_length((1 << 32) - 1), 32) self.assertEqual(builtins.integer_bit_length((1 << 64) - 1), 64) self.assertEqual(_alt_builtins.integer_bit_length_shift_counting(1023), 10) self.assertEqual(_alt_builtins.integer_bit_length_shift_counting(1024), 11) self.assertEqual(_alt_builtins.integer_bit_length_shift_counting(1025), 11) self.assertEqual(_alt_builtins.integer_bit_length_shift_counting(1 << 1024), 1025) self.assertEqual(_alt_builtins.integer_bit_length_shift_counting((1 << 1024) + 1), 1025) self.assertEqual(_alt_builtins.integer_bit_length_shift_counting((1 << 1024) - 1), 1024) self.assertEqual(_alt_builtins.integer_bit_length_shift_counting((1 << 32) - 1), 32) self.assertEqual(_alt_builtins.integer_bit_length_shift_counting((1 << 64) - 1), 64) self.assertEqual(_alt_builtins.integer_bit_length_word_aligned(1023), 10) self.assertEqual(_alt_builtins.integer_bit_length_word_aligned(1024), 11) self.assertEqual(_alt_builtins.integer_bit_length_word_aligned(1025), 11) self.assertEqual(_alt_builtins.integer_bit_length_word_aligned(1 << 1024), 1025) self.assertEqual(_alt_builtins.integer_bit_length_word_aligned((1 << 1024) + 1), 1025) self.assertEqual(_alt_builtins.integer_bit_length_word_aligned((1 << 1024) - 1), 1024) self.assertEqual(_alt_builtins.integer_bit_length_word_aligned((1 << 32) - 1), 32) self.assertEqual(_alt_builtins.integer_bit_length_word_aligned((1 << 64) - 1), 64)
def test_bit_length_correct(self): numbers = [ -12, 12, 1200, 120091, 123456789, ] for num in numbers: if num < 0: length = len(bin(num, None)) - 1 else: length = len(bin(num, None)) self.assertEqual(integer_bit_length(num), length) self.assertEqual(integer_bit_length_shift_counting(num), length) self.assertEqual(integer_bit_length_word_aligned(num), length) self.assertEqual(integer_bit_length(1023), 10) self.assertEqual(integer_bit_length(1024), 11) self.assertEqual(integer_bit_length(1025), 11) self.assertEqual(integer_bit_length(1 << 1024), 1025) self.assertEqual(integer_bit_length((1 << 1024) + 1), 1025) self.assertEqual(integer_bit_length((1 << 1024) - 1), 1024) self.assertEqual(integer_bit_length((1 << 32) - 1), 32) self.assertEqual(integer_bit_length((1 << 64) - 1), 64) self.assertEqual(integer_bit_length_shift_counting(1023), 10) self.assertEqual(integer_bit_length_shift_counting(1024), 11) self.assertEqual(integer_bit_length_shift_counting(1025), 11) self.assertEqual(integer_bit_length_shift_counting(1 << 1024), 1025) self.assertEqual(integer_bit_length_shift_counting((1 << 1024) + 1), 1025) self.assertEqual(integer_bit_length_shift_counting((1 << 1024) - 1), 1024) self.assertEqual(integer_bit_length_shift_counting((1 << 32) - 1), 32) self.assertEqual(integer_bit_length_shift_counting((1 << 64) - 1), 64) self.assertEqual(integer_bit_length_word_aligned(1023), 10) self.assertEqual(integer_bit_length_word_aligned(1024), 11) self.assertEqual(integer_bit_length_word_aligned(1025), 11) self.assertEqual(integer_bit_length_word_aligned(1 << 1024), 1025) self.assertEqual(integer_bit_length_word_aligned((1 << 1024) + 1), 1025) self.assertEqual(integer_bit_length_word_aligned((1 << 1024) - 1), 1024) self.assertEqual(integer_bit_length_word_aligned((1 << 32) - 1), 32) self.assertEqual(integer_bit_length_word_aligned((1 << 64) - 1), 64)
def test_bit_length_0_if_zero(self): self.assertEqual(builtins.integer_bit_length(0), 0) self.assertEqual(_alt_builtins.integer_bit_length_shift_counting(0), 0) self.assertEqual(_alt_builtins.integer_bit_length_word_aligned(0), 0)
def test_bit_length_0_if_zero(self): self.assertEqual(integer_bit_length(0), 0) self.assertEqual(integer_bit_length_shift_counting(0), 0) self.assertEqual(integer_bit_length_word_aligned(0), 0)