[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