Armv8 - 64 浮点编程指南
1. 计算两点间距离
在处理三维空间中两点之间的距离计算时,我们可以使用一系列的浮点指令来完成。以下是相关的代码示例:
fsub d2,d5,d2 // d2 = z2 - z1
fmadd d0,d2,d2,d0 // d0 += (z2 - z1) ** 2
fsqrt d0,d0 // d0 = final distance
ret
CalcDist_ 函数的前两条指令 fsub d0,d3,d0 和 fmul d0,d0,d0 计算 (x2 - x1) ** 2 。接下来的 fsub d1,d4,d1 计算 (y2 – y1) ,随后的 fmadd d0,d1,d1,d0 指令计算 (y2 - y1) ** 2 并将其加到寄存器 D0 的中间和中。之后的指令对 fsub d2,d5,d2 和 fmadd d0,d2,d2,d0 对 (z2 - z1) ** 2 执行相同的操作。最后,函数使用 fsqrt d0,d0 计算最终距离。
以下
超级会员免费看
订阅专栏 解锁全文
31

被折叠的 条评论
为什么被折叠?



