def transform(value, left_scale, right_scale, scale=0):
if left_scale is None or right_scale is None:
raise Exception('Left or Right scales cannot be None.')
if scale not in [0, 1]:
raise Exception('Scale must be 0 or 1.')
invalid_err = np.geterr().get('invalid')
invalid_err = np.geterr().get('invalid')
np.seterr(invalid='ignore')
if scale == 0:
range_ = np.absolute(right_scale - left_scale)
translated_value = np.abs(value - left_scale)
ret_val = (translated_value / range_)
else:
if left_scale <= 0.0:
raise Exception()
ls = np.log10(left_scale)
rs = np.log10(right_scale)
range_ = rs - ls
translated_value = np.log10(value) - ls
ret_val = (translated_value / range_)
np.seterr(invalid=invalid_err)
return ret_val
评论列表
文章目录