'Creates left and right masks for all hash lengths.'

def _generate_masks(self):

    tri_size = (MAX_HASH_SIZE + 1)
    left_mask = np.tril(np.ones((tri_size, tri_size), dtype=int))[:, 1:]
    right_mask = left_mask[::(-1), ::(-1)]
    self._left_mask = np.packbits(left_mask).view(dtype=HASH_DTYPE)
    self._right_mask = np.packbits(right_mask).view(dtype=HASH_DTYPE)
