在运行此程序时,在输出Nan中报告为0,当使用icpx V2022.1构建时,它与其他编译器一起工作得很好。
Compiling with the command: icpx -O3 -qmkl=sequential
#define ARMA_DONT_USE_WRAPPER
#include <armadillo>
int main() {
arma::Col<double> var;
var.randu(4);
var.print();
std::cout << std::endl;
var[0] = arma::datum::nan;
// Same with var[0] = std::numeric_limits<double>::quiet_NaN()
var.print();
return 0;
}
发布于 2022-11-14 07:28:39
英特尔编译器的默认优化设置是-O2。正如Peter在上面的注释中所建议的,您可以使用“-fp=精确”标志来指示编译器在实现浮点计算时严格遵循值安全优化。希望这能解决问题。
https://stackoverflow.com/questions/74401205
复制相似问题