def METHOD_NAME(cls, tensor_name, source, cipher, q_field, encoder, is_fixedpoint_table=True):
    if is_table(source):
        share_tensor = fixedpoint_table.PaillierFixedPointTensor.METHOD_NAME(tensor_name=tensor_name,
                                                                             source=source,
                                                                             encoder=encoder,
                                                                             q_field=q_field)
        return share_tensor
    elif isinstance(source, np.ndarray):
        share_tensor = fixedpoint_numpy.PaillierFixedPointTensor.METHOD_NAME(tensor_name=tensor_name,
                                                                             source=source,
                                                                             encoder=encoder,
                                                                             q_field=q_field)
        return share_tensor
    elif isinstance(source, (fixedpoint_table.PaillierFixedPointTensor,
                             fixedpoint_numpy.PaillierFixedPointTensor)):
        return cls.METHOD_NAME(tensor_name, source.value, cipher, q_field, encoder, is_fixedpoint_table)
    elif isinstance(source, Party):
        if is_fixedpoint_table:
            share_tensor = fixedpoint_table.PaillierFixedPointTensor.METHOD_NAME(tensor_name=tensor_name,
                                                                                 source=source,
                                                                                 encoder=encoder,
                                                                                 q_field=q_field,
                                                                                 cipher=cipher)
        else:
            share_tensor = fixedpoint_numpy.PaillierFixedPointTensor.METHOD_NAME(tensor_name=tensor_name,
                                                                                 source=source,
                                                                                 encoder=encoder,
                                                                                 q_field=q_field,
                                                                                 cipher=cipher)
        return share_tensor
    else:
        raise ValueError(f"type={type(source)}")