package
0.0.0-20241223085510-021f3413aa48
Repository: https://github.com/allen9012/infinitegolang.git
Documentation: pkg.go.dev
# Functions
0.2210 ns/op 存在误差,但是可以约定.
37.50 ns/op 小数位拆开分别保存,缺点是引用被修改的坑,如果使用计算也要用这个.
1092 ns/op 慢但是安全.
75.01 ns/op.
这个函数的意思是返回目标值最接近的浮点数,如果目标相等就直接返回 累计误差如果大于1bit就不能够判断相等
func Nextafter(x, y float64) (r float64) { switch { case IsNaN(x) || IsNaN(y): // special case r = NaN() case x == y: r = x case x == 0: r = Copysign(Float64frombits(1), y) case (y > x) == (x > 0): r = Float64frombits(Float64bits(x) + 1) default: r = Float64frombits(Float64bits(x) - 1) } return }.
1.548 ns/op 优点:对于非复杂计算,用于Nextafter32可以实现精确比较 缺点是只支持1bit的误差,方案应用不广泛.
# Constants
Epsilon 自定义精度.