注: 使用 xlclang 或 xlclang + + 调用命令调用 IBM® XL C/C++ for AIX® 16.1 的基于 Clang 的前端时,不支持十进制浮点内置函数。
测试函数允许对无效结果进行扩展异常处理或对输入值进行分类,主要是为了支持数学库函数。
以 __d64_is 或 __d128_is 开头的那些函数将不会引起异常,即使对于发信号给 NaNs也是如此。
表 1. 测试数据类掩码宏和值
| 宏 |
整数值 |
| DFP_PPC_DATA_CLASS_ZERO |
0x20 |
| DFP_PPC_DATA_CLASS_SUBNORMAL |
0x10 |
| DFP_PPC_DATA_CLASS_NORMAL |
0x08 |
| DFP_PPC_DATA_CLASS_INFINITY |
0x04 |
| DFP_PPC_DATA_CLASS_QUIET_NAN |
0x02 |
| DFP_PPC_DATA_CLASS_SIGNALING_NAN |
0x01 |
表 2。 测试数据组掩码宏和值
| 宏 |
整数值 |
| DFP_PPC_DATA_GROUP_SAFE_ZERO |
0x20 |
| DFP_PPC_DATA_GROUP_ZERO_WITH_极值指数 |
0x10 |
| DFP_PPC_DATA_GROUP_NONZERO_WITH_极值指数 |
0x08 |
| DFP_PPC_DATA_GROUP_SAFE_NONZERO |
0x04 |
| DFP_PPC_DATA_GROUP_NONZERO_LEFTMOST_DIGIT_NONEROME_EXPONENT |
0x02 |
| DFP_PPC_DATA_GROUP_SPECIAL |
0x01 |
表 3。 测试数据类和组结果宏和值
| 宏 |
整数值 |
| DFP_PPC_DATA_POSITIVE_NO_MATCH |
0x00 |
| DFP_PPC_DATA_POSITIVE_MATCH |
0x02 |
| DFP_PPC_DATA_NEGTIVE_NO_MATCH |
0x08 |
| DFP_PPC_DATA_NEGTIVE_MATCH |
0x0A |
表 4。 测试数据类和组结果掩码宏和值
| 宏 |
整数值 |
| DFP_PPC_DATA_NEGTIVE_MASK |
0x08 |
| DFP_PPC_DATA_MATCH_MASK |
0x02 |