fpclassify():其他实现定义的类别有哪些示例?

fpclassify():其他实现定义的类别有哪些示例?,c,floating-point,C,Floating Point,N2479 C17..C2x工作草案-2020年2月5日ISO/IEC 9899:202x(E)(重点补充): fpclassify宏将其参数值分类为NaN、infinite、normal、subnormal、zero或其他实现定义的类别 问题:另一个实现定义的类别有哪些(至少有一些)示例?有没有和他们打交道的经验?这似乎很奇怪。未讨论任何其他简单定义的类别,也未在math.h函数定义中写入任何相关内容。给定“附加的实现定义的浮点分类,宏定义以FP_u和大写字母开头,也可由实现指定。”不需要互斥

N2479 C17..C2x工作草案-2020年2月5日ISO/IEC 9899:202x(E)(重点补充):

fpclassify宏将其参数值分类为NaN、infinite、normal、subnormal、zero或其他实现定义的类别


问题:另一个实现定义的类别有哪些(至少有一些)示例?有没有和他们打交道的经验?

这似乎很奇怪。未讨论任何其他简单定义的类别,也未在
math.h
函数定义中写入任何相关内容。给定“附加的实现定义的浮点分类,宏定义以FP_u和大写字母开头,也可由实现指定。”不需要互斥类型的浮点值,我可以看到一类规范的首选编码。@chux:C 2018 7.12 6指定了数字分类宏,并表示它们互斥。因此,额外的操作应排除基本操作。作为参考,IEEE 754-2008 5.7.2定义了一个
操作,表示十个类中的一个:信令NaN、安静NaN、,−∞, −正常,,−低于正常水平,−0、+0、+次正常、+正常和+∞. 但是,
fpclassify
无法在不违反我上述评论中提到的相互排他性要求的情况下区分这些,除非C标准草案删除了该要求。@EricPostchil,正如我所读,“FP_INFINITE FP_NAN FP_NORMAL FP_SUBNORMAL FP_ZERO表示相互排斥的浮点值。它们扩展为具有不同值的整型常量表达式。”。规范没有说明其他类别的排他性。“它们”指的是先前的集合。