【发布时间】:2011-07-05 14:23:50
【问题描述】:
出于性能原因,我正在用 C 语言重新实现一个 Matlab 函数。现在,我正在寻找最有效的方法来计算向量在单元盒上的投影。
在 C 语言中,我想计算
double i = somevalue;
i = (i > 1.) ? 1. : i;
i = (i < -1.) ? -1. : i;
由于我必须执行此操作数百万次,我想知道实现此操作的最有效方法是什么。
【问题讨论】:
-
据我所知,一些 CPU 架构有特殊的指令来限制这样的值;一个体面的 C 编译器应该检测到它可以使用这样的指令并对其进行优化。如果你想解决更高维向量空间的问题,当然细节取决于你的向量范数。
-
@alexandre-c 是的,我问过同样的问题,所以这是重复的。不幸的是,我找不到原来的问题。
标签: c++ c math optimization