我正在使用-ffast-math
选项编译以下代码:
#include <limits>
#include <cmath>
#include <iostream>
int main() {
std::cout << std::isnan(std::numeric_limits<double>::quiet_NaN() ) << std::endl;
}
我得到 0 作为输出。我的代码在编译时如何判断浮点数是否为 NaN -ffast-math
?
注意:在 linux 上,std::isnan 甚至可以使用 -ffast-math。