java双值反转关闭
以下函数将哪个输入简化为标识(模1 ulp)
public static double invertTwice(double value) {
double inverse = 1.0 / value;
return 1.0 / inverse;
}
另外,函数是恒等式(模1 ulp)的最大间隔[min, max]
是什么
为什么[1E-320…1E-310]范围内的值在反转时映射到+无穷大?(随后的反转将导致0.0!)
动机:一般关系
a / b == a * (1.0 / b)
不适用于所有双对,即使在b != 0.0
时也是如此,例如a = 0.0
和b = 4.9E-324
例如,在规范化向量时,必须考虑到这一点
[0.0 b 0.0] * (1.0 / b) == [NaN Infinity NaN]
但是
[0.0/b b/b 0.0/b] == [0.0 1.0 0.0]
备注:我的问题不是关于规范化向量,而是关于我上面写的内容。谢谢!
# 1 楼答案
通过对分搜索,我找到了在2x反转下不变的双值区间
未来