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