引用(感谢作者开发和共享算法!):
https://tavianator.com/fast-branchless-raybounding-box-intersections/
由于现代浮点指令集可以在没有分支的情况下计算最小值和最大值
作者的相应代码就是
dmnsn_min(double a, double b)
{
return a < b ? a : b;
}
Run Code Online (Sandbox Code Playgroud)
我很熟悉例如_mm_max_ps
,但这是一个矢量指令.上面的代码显然是用于标量形式.
题:
以防万一:我熟悉在C++中使用min和max函数,相信它是相关的,但不是我的问题.