C语言标准头文件详解
1. 浮点运算相关宏
1.1 FMA相关宏
FMA 即 “fused multiply-and-add”(融合乘加)。宏 FP_FAST_FMA
用于表示当 fma(x, y, z)
函数调用的计算速度至少与数学上等价的表达式 x * y + z
( x
、 y
、 z
为 double
类型)相同时被定义。通常,当 fma()
函数利用了特殊的 FMA 机器操作时会满足此条件。
类似地, FP_FAST_FMAF
和 FP_FAST_FMAL
分别对应 float
和 long double
类型。
1.2 FP_ILOGB0
和 FP_ILOGBNAN
这两个宏分别表示当 ilogb(x)
函数的参数 x
为零或 NaN 时返回的值。 FP_ILOGB0
等于 INT_MIN
或 -INT_MAX
, FP_ILOGBNAN
等于 INT_MIN
或 INT_MAX