Test functions

Test functions allow extended exception handling of invalid results or categorization of input values, primarily to support math library functions.

Those functions that begin with __d64_is or __d128_is will not raise an exception, even for signaling NaNs.

Table 1. Test data class mask macros and values
Macro Integer value
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
Table 2. Test data group mask macros and values
Macro Integer value
DFP_PPC_DATA_GROUP_SAFE_ZERO 0x20
DFP_PPC_DATA_GROUP_ZERO_WITH_EXTREME_EXPONENT 0x10
DFP_PPC_DATA_GROUP_NONZERO_WITH_EXTREME_EXPONENT 0x08
DFP_PPC_DATA_GROUP_SAFE_NONZERO 0x04
DFP_PPC_DATA_GROUP_NONZERO_LEFTMOST_DIGIT_NONEXTREME_EXPONENT 0x02
DFP_PPC_DATA_GROUP_SPECIAL 0x01
Table 3. Test data class and group result macros and values
Macro Integer value
DFP_PPC_DATA_POSITIVE_NO_MATCH 0x00
DFP_PPC_DATA_POSITIVE_MATCH 0x02
DFP_PPC_DATA_NEGATIVE_NO_MATCH 0x08
DFP_PPC_DATA_NEGATIVE_MATCH 0x0A
Table 4. Test data class and group result mask macros and values
Macro Integer value
DFP_PPC_DATA_NEGATIVE_MASK 0x08
DFP_PPC_DATA_MATCH_MASK 0x02