in samtranslator/utils/py27hash_fix.py [0:0]
def add(self, key): # type: ignore[no-untyped-def]
"""Adds key"""
start_size = self.size
i = self._get_key_idx(key) # type: ignore[no-untyped-call]
if i not in self.keyorder:
# We are not replacing an existing key or a DUMMY key, increment fill
self.size += 1
self.fill += 1
self.keyorder[i] = key
else:
if self.keyorder[i] is self.DUMMY:
self.size += 1
if self.keyorder[i] != key:
self.keyorder[i] = key
# Resize if 2/3 capacity
if self.size > start_size and self.fill * 3 >= ((self.mask + 1) * 2):
# Python2 dict increases size by a factor of 4 for small dict, and 2 for large dict
self._resize(self.size * (2 if self.size > self._LARGE_DICT_SIZE_THRESHOLD else 4)) # type: ignore[no-untyped-call]