def compute_tag_size(id: int, value_size: int) -> int: """ Computes the tag size based on the id and the value size. Parameters: - `id`: The tag id; - `value_size`: The value size; """ size = pyilint.ilint_size(id) + value_size if not iltags_is_implicit(id): size += pyilint.ilint_size(value_size) return size
def test_tag_size(self): for id in range(16): t = ILTag(id, True) t.value_size = MagicMock(return_value=id) size = ilint_size(id) + id self.assertEqual(t.tag_size(), size) t.value_size.assert_called_once() for id in [16, 256, 1231231]: t = ILTag(id) t.value_size = MagicMock(return_value=id) size = ilint_size(id) + ilint_size(id) + id self.assertEqual(t.tag_size(), size) t.value_size.assert_called_once()
def value_size(self) -> int: size = pyilint.ilint_size(len(self)) for key in self: size += (ILStringTag.compute_string_tag_size(key) + ILStringTag.compute_string_tag_size(self[key])) return size
def value_size(self) -> int: return pyilint.ilint_size(self.first) + 2
def value_size(self) -> int: size = pyilint.ilint_size(len(self)) for t in self: size += t.tag_size() return size
def value_size(self) -> int: size = pyilint.ilint_size(len(self)) for v in self: size += pyilint.ilint_size(v) return size
def value_size(self) -> int: return pyilint.ilint_size(self.value)