__d64_test_data_group, __d128_test_data_group

Purpose

Test Data Group

Reports if a value is a safe zero, a zero with an extreme exponent, a subnormal, a safe nonzero, a normal with no leading zero, or an infinity or NaN and if the value is positive or negative. Safe means leading zero digits and a non-extreme exponent. A subnormal can appear as either an extreme nonzero or safe nonzero. The exact meaning of some masks depends on the particular CPU model.

Prototype

long _d64_test_data_group (_Decimal64, unsigned long mask);

long _d128_test_data_group (_Decimal128, unsigned long mask);

Parameters

mask
One of the values or macros defined in Table 2 or several ORed together. The parameter must be a compile time constant expression.

Return value

One of the values listed in Table 3.

Usage

You can use an appropriate mask to check combinations of values at the same time. Use the masks listed in Table 2 to check input values. Use the masks listed in Table 4 to check result values.