Beispiel #1
0
    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
Beispiel #2
0
    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()
Beispiel #3
0
 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
Beispiel #4
0
 def value_size(self) -> int:
     return pyilint.ilint_size(self.first) + 2
Beispiel #5
0
 def value_size(self) -> int:
     size = pyilint.ilint_size(len(self))
     for t in self:
         size += t.tag_size()
     return size
Beispiel #6
0
 def value_size(self) -> int:
     size = pyilint.ilint_size(len(self))
     for v in self:
         size += pyilint.ilint_size(v)
     return size
Beispiel #7
0
 def value_size(self) -> int:
     return pyilint.ilint_size(self.value)