我正在使用SIMD来提高C代码的性能,但我遇到了一个带有很多if/then条件的函数,如下所示:
if (Di <= -T3) return -4;
if (Di <= -T2) return -3;
if (Di <= -T1) return -2;
if (Di < -NEAR) return -1;
if (Di <= NEAR) return 0;
if (Di < T1) return 1;
if (Di < T2) return 2;
if (Di < T3) return 3;
return 4;
Run Code Online (Sandbox Code Playgroud)
使用VC++编译器支持的Intel内部函数可以缩短处理时间.
那么有没有更好的方法来优化这一长串的条件表达式?