Paul Eggert wrote: > A more up-to-date mainframe C compiler would be Systems/C > <http://www.dignus.com/dcc/>. Its most recent release is 1.85 > (released 2006-09-01). It supports some C99 features but not all, and > its documentation doesn't claim support for printf 'a' and 'A'.
OK, but nevertheless the practical problem is: Even if I wanted to adjust the printf-frexp and the 'a'/'A' conversion code to avoid rounding errors on such platforms, I don't have enough info about how to do it. If FLT_RADIX = 16, multiplication of a number with 2.0 causes rounding errors for 25% of the numbers, and multiplication with 0.5 causes rounding errors for 75% of the numbers. (Btw, this makes it impossible to implement a C99 compatible frexp() function, no?) I would at least need to know whether the rounding problem when multiplying with 2.0 occurs in the range [1.0,2.0) or [2.0,4.0) or [4.0,8.0) or [8.0,16.0). Bruno
