【发布时间】:2012-06-11 20:34:32
【问题描述】:
由于标准的层次,c++ 的包含文件是一个老鼠窝。我试图弄清楚 __isnan 实际调用的内容,但找不到任何具有实际定义的地方。
所以我只是用 -S 编译来查看程序集,如果我写:
#include <ieee754.h>
void f(double x) {
if (__isinf(x) ...
if (__isnan(x)) ...
}
这两个例程都被调用。我想看看实际的定义,并可能将这样的东西重构为内联,因为它应该只是一个比较,尽管当值在浮点寄存器中时很难实现。
无论如何,不管这是否是一个好主意,问题是:__isnan(x) 的源代码在哪里?
【问题讨论】:
标签: gcc floating-point double