HP aC++/HP ANSI C Release Notes (B3901-90037; A.06.26; September 2011)
compiler uses, and the "decimal encoding". Both encodings provide exactly the
same data, analogous to big endian and little endian encodings.
• Decimal FP I/O and string conversion. The decimal FP length modifiers for printf()
and scanf() floating-point conversion specifiers (a, A, e, E, f, F, g, G) are H for
_Decimal32, D for _Decimal64, and DD for _Decimal128. The decimal a, A specifiers
for printf(), given no precision or sufficient precision, produce an exact
quantum-preserving representation of the decimal FP value being converted.
• WDB debugger support for printing values of decimal FP types.
• Suffixes to designate decimal floating constants: df or DF for _Decimal32, dd or
DD for _Decimal64, and dl or DL for _Decimal128. Note that an unsuffixed floating
constant still has type double, regardless of the context. Explicit suffixing with a d
or D to specify type double is also allowed.
• Decimal FP versions of macros in <float.h>, <math.h>, and <fenv.h>.
• Five rounding modes for decimal FP: to nearest with ties to even, to nearest with ties
away from zero, upward, downward, and toward zero.
• Compiler option +decfp, which enables full decimal FP functionality according to
the ISO/IEC C draft Technical Report: http://www.open-std.org/jtc1/sc22/
wg14/www/docs/n1312.pdf
• Compiler option -fpevaldec=precision, which specifies the minimum precision
to use for decimal floating-point expression evaluation. The possible values for
precision are _Decimal32, _Decimal64, and _Decimal128. This option
does not affect the precision of parameters, return types, or assignments. The default
is -fpevaldec=_Decimal32.
• Type-generic functions in <tgmath.h> that take on the type of decimal FP (or binary
FP) arguments.
• Our Decimal FP support incorporates code from the Intel Decimal Floating-Point
Math Library.
To use decimal FP:
• Install the following on an HP-UX 11i V3 (11.31) Integrity system:
core Math patch PHSS_38137◦
◦ math manpage patch PHCO_38388
◦ libc patch PHCO_38048
◦ libcEnhancement package (http://docs.hp.com/en/5992-3373/ch10s12.html)
◦ libc man page patch PHCO_37128 (for printf and scanf man pages)
• To use any decimal FP functionality (even built-in operators), add the +decfp option
to the compile and link lines.
New features in version A.06.20 25