后续问题:
- FLT_HAS_SUBNORM 为 0:执行 fpclassify() 与手动构造的次正规导致 UB 还是导致 WDB 返回 FP_SUBNORMAL?
- 如果次正规数的存在是可选的(HAS_SUBNORM),那么为什么 FP_SUBNORMAL 的存在是强制性的?
问题:在FLT_HAS_SUBNORM is 0
什么情况下fpclassify(<subnormal>)
会返回:FP_SUBNORMAL
or FP_ZERO
,or 导致UB?请详细说明。
换句话说:如果FLT_HAS_SUBNORM is 0
实现具有DAZ(非正规为零)属性?(有关详细信息,请参阅链接#1 中用户@njuffa 的评论。)如果是/否,那么该属性应应用于所有涉及 FP 编号(对象)的操作,还是应用于某些涉及 FP 编号(对象)的操作?
UPD20210825:委员会的答复:
它是 FP_ZERO。
结果:
- 如果实现
FLT_HAS_SUBNORM is 0
应将 DAZ(非正规为零)属性设置为 1?是的。 - 是否应将 DAZ=1 应用于所有涉及 FP 数(对象)的操作?进行中...