C/C++ Programmer's Guide (G06.27+, H06.08+, J06.03+)

You must also specify the VERSION2 directive if you specify IEEE_FLOAT with the TNS/R
native C++ compiler. For more details, see VERSION2 (page 254).
If you specify the IEEE_FLOAT directive, you cannot also specify the SQL pragma.
Note these advantages of using IEEE floating-point:
IEEE floating-point format has a different range of values and different precision than
Tandem floating-point format.
IEEE floating-point format gives faster performance and is easier for porting native
applications than Tandem floating-point format.
IEEE floating-point default handling of overflow, underflow, divide-by-zero, and invalid
operation is better than the Tandem floating-point handling.
IEEE floating-point default rounding mode gives more accurate results.
IEEE floating-point directed roundings and “sticky” flags are useful debugging tools for
investigating calculations that might go wrong because of rounding problems, division
by zero, or other problems. Sticky flags are exception flags that stay set until explicitly
reset by the user. Sticky flags allow the user to check a chain of computations.
IEEE floating-point denormalized numbers avoid computational problems that arise from
very small numbers as intermediate results in computations.
Table 31 lists the macros in the float.h file that have different values for the two floating-point
formats.
Table 31 IEEE and Tandem Floating-Point Macro Values in float.h
IEEE FormatTandem FormatMacro Name
11FLT_ROUNDS
22FLT_RADIX
2423FLT_MANT_DIG
5355DBL_MANT_DIG
1.9209290e-072.3841858e-07FLT_EPSILON
2.2204460492503131e-165.551115123125782720e-17DBL_EPSILON
(-37)(-77)FLT_MIN_10_EXP
(-307)(-77)DBL_MIN_10_EXP
3877FLT_MAX_10_EXP
30877DBL_MAX_10_EXP
(-125)(-254)FLT_MIN_EXP
(-1021)(-254)DBL_MIN_EXP
128254FLT_MAX_EXP
1024254DBL_MAX_EXP
66FLT_DIG
1516DBL_DIG
1.17549435E-38F1.7272337e-77FLT_MIN
2.2250738585072014E-3081.7272337110188889e-77DBL_MIN
204 Compiler Pragmas