[cfp-interest 3697] Table F.2 and Table F.3 functionality
Damian McGuckin
damianm at esi.com.au
Wed Nov 5 01:18:58 PST 2025
Not for discussion next week.
Both F.3#1 and the Recommended Practice of F.10.1#16 refer to Table F.2 in
which the mandated (and some other) ISO/IEC 60559 operations are itemised.
These 2 paragraphs contain the following sentences.
A C operators, functions, and function-like macros provide operations
specified by ISO/IEC 60559 as shown in Table F.2.
B In the table, C functions are represented by the function name without
a type suffix.
C ISO/IEC 60559 specifies correct rounding for the operations in Table F.2
recommended by ISO/IEC 60559, and thereby preserves useful mathematical
properties such as symmetry, monotonicity, and periodicity.
D The C functions in the table, however, are not required to be correctly
rounded, ....
E ... but implementations should still preserve as many of these useful
mathematical properties as possible.
F The corresponding functions with (potentially) reserved cr_ -prefixed
names (7.35.9) do the same.
G Specifications for the C facilities are provided in the listed
clauses. The C specifications are intended to match ISO/IEC 60559,
unless stated otherwise.
Table F.3 is referenced in F.3#20 and most repeats the above but for this
other table which are the recommended ISO/IEC 60559 operations. Because
this paragraph is only recommended, it could just as easily be labelled
as Recommended Practice. Anyway, the sentences are:
The C functions in Table F.3 correspond to mathematical operations
recommended by ISO/IEC 60559.
... Equivalent to A
In the table, the C functions are represented by the function name
without a type suffix.
... Identical to B
However, correct rounding, which ISO/IEC 60559 specifies for its
operations, is not required for the C functions in the table.
... Trimmed version of C+D
7.35.9 (potentially) reserves cr_ prefixed names for functions fully
matching the ISO/IEC 60559 mathematical operations.
... Reworded version of F
There is no direct equivalent of E although it could be inferred
There is no equivalent of G although as the specifications for
these functions are indeed listed and those specification do
match ISO/IEC 60559, G would not be out of place here too.
To avoid unnecessary repetition, I propose a new F.3#1, dropping F.3#10
and tweaking the Recommended Practice of F.10.1#16.
The C operators, functions, and function-like macros in Table F.2
provide the operations mandated by, preferred by, and in a few cases,
recommended by, ISO/IEC 60559. The C functions in Table F.3 provide
mathematical operations which are exclusively only recommended by
ISO/IEC 60559.
Any C function family in those tables is represented by the
function name without a type suffix.
These operations are fully specified by ISO/IEC 60559, including
their rounding behaviors and floating-point exceptions.
Specifications for these C facilities appear in subsequent listed
clauses and are intended to match ISO/IEC 60559, unless explicitly
stated otherwise.
I believe that each of the last three sentences apply to both Table F.2
and Table F.3.
The Recommended Practice in F.10.1#16 is now
To preserve useful mathematical properties such as symmetry, monotonicity,
and periodicity, ISO/IEC 60559 specifies correctly rounded results for
both the operations, functions and function-like macros of Table F.2 and
the functions of Table F.3.
However, the C operations, functions, and function-like macros in those
two tables are not required to be correctly rounded, but implementations
should still preserve as many of these useful mathematical properties as
possible.
Corresponding to a function f in Table F.2 and Table F.3 are functions
(7.35.9) cr_f whose existence is implementation defined which provide
the functionality of f with guaranteed correct rounding.
I do not like that last sentence because any function f may actually provide
correct rounding. Suggestions for any improved wording of that sentence would
be appreciated.
Thanks - Damian
More information about the cfp-interest
mailing list