def get_offset(data_dtype, dtype_offset):
if dtype_offset == 'auto':
if data_dtype in ['uint16', numpy.uint16]:
dtype_offset = 32768
elif data_dtype in ['int16', numpy.int16]:
dtype_offset = 0
elif data_dtype in ['int32', numpy.int32]:
dtype_offset = 0
elif data_dtype in ['int64', numpy.int64]:
dtype_offset = 0
elif data_dtype in ['float32', numpy.float32]:
dtype_offset = 0
elif data_dtype in ['int8', numpy.int8]:
dtype_offset = 0
elif data_dtype in ['uint8', numpy.uint8]:
dtype_offset = 127
elif data_dtype in ['float64', numpy.float64]:
dtype_offset = 0
if comm.rank == 0:
print_and_log(['data type offset for %s is automatically set to %d' %(data_dtype, dtype_offset)], 'debug', logger)
else:
try:
dtype_offset = int(dtype_offset)
except Exception:
if comm.rank == 0:
print_and_log(["Offset %s is not valid" %dtype_offset], 'error', logger)
sys.exit(1)
return dtype_offset
评论列表
文章目录