[Cfp-interest 2848] TS-4r and TS-5r changes

Jim Thomas jaswthomas at sbcglobal.net
Thu Aug 24 10:53:59 PDT 2023


Based on email comments and discussion I suggest the changes below be incorporated into the 20230806 drafts. 

If you think any additions, deletions, or modifications are needed for the listed changes, please respond by email and we will resolve any remaining issues at the 30 August CFP meeting. If you already commented, please check that the list includes the changes you still feel are needed. 

- Jim Thomas


TS-4r 
https://wiki.edg.com/pub/CFP/WebHome/cfp4r-20230806.pdf
 
Page ii, Lines 16-17: Replace the space before “Case”, “Fax”, "E-mail”, and “Web” with a space character in the fixed-width New Courier font.

Page vi, Line 26: Delete “new”.
 
Page vii, Line 22: Change “C18” to “C17”.
 
Page viii, Lines 1-3: Change:
 
This document includes the specification in ISO/IEC TS 18661-4 that was not incorporated into C23, namely support for reduction functions. It also includes specification to support the augmented arithmetic operations introduced in IEC 60559:2020.
 
to:
 
This document updates ISO/IEC TS 18661-4. It retains the feature that was not incorporated into C23, namely the reduction functions. It also adds support for the augmented arithmetic operations introduced in IEC 60559:2020.
 
Page viii, Line 4: Change “will update” to “updates”.
 
Page 1, Lines 12, 18, 23: Change the three occurrences of “this technical specification” to “this document”.
 
Page 2, Line 6: Change “The specification in C23 allows” to “The specification in C23 Clause 2 allows”.
 
Page 2, Line 22:  Change “defined in” to “described in”.

Page 2, Line 29: Change "the determination of the final result overflows or underflows” to "the final result overflows or underflows”.

All Synopses, e.g. Page 3, Lines 20 and 33: Add the appropriate feature guard, e.g. change:
 
#ifdef __STDC_IEC_60559_BFP__
double reduc_sum(size_t n, const double p[static n]);
…
#endif
#ifdef __STDC_IEC_60559_DFP__
_DecimalN reduc_sumdN(size_t n, const _DecimalN p[static n]);
…
#endif
 
to:
 
#ifdef __STDC_IEC_60559_FUNCS_REDUCTION__
#ifdef __STDC_IEC_60559_BFP__
double reduc_sum(size_t n, const double p[static n]);
…
#endif
#ifdef __STDC_IEC_60559_DFP__
_DecimalN reduc_sumdN(size_t n, const _DecimalN p[static n]);
…
#endif
#endif
 
Page 3, Line 34 and elsewhere in clause 6: Change the summation/product style so that the i=0 is at the bottom and to the right of the sigma/pi and n-1 is at the top and to the right of sigma/pi.

Page 3, Line 13: Insert the paragraph:

For each of the following synopses, an implementation shall declare the functions suffixed with fN or fNx for each supported corresponding binary floating type and shall declare the functions suffixed with dN or dNx for each supported corresponding decimal floating type. (See C23 Annex H.)

Pages 3-9: In each Synopsis delete the line:

#define __STDC_WANT_IEC_60559_TYPES_EXT__

Page 10, Line 28: Insert the paragraph:

For each of the following synopses, an implementation shall declare the functions suffixed with fN or fNx for each supported corresponding binary floating type. (See C23 Annex H.)

Pages 10-12: In each Synopsis delete the line:

#define __STDC_WANT_IEC_60559_TYPES_EXT__

Page 13, Line 25: Change “augsubf64(f, f64)” to “augsubf64(d, f64)”.
 


TS-5
 https://wiki.edg.com/pub/CFP/WebHome/cfp5r-20230806.pdf

Page ii, Lines 16-17: Replace the space before “Case”, “Fax”, "E-mail”, and “Web” with a space character in the fixed-width New Courier font.

Page iv, Line 12: Change “documents” to “document”.
 
Page vi, Line 26: Delete “new”.
 
Page vii, Line 22: Change “C18” to “C17”.
 
Page viii, Lines 1-4: Change:
 
This document includes the specification in ISO/IEC TS 18661-4 that was not incorporated into C23, namely support for reduction functions. It also includes specification to support the augmented arithmetic operations introduced in IEC 60559:2020.
 
A separate document will update ISO/IEC TS 18661-5, which was not incorporated into C23.
 
to:
 
A separate document updates ISO/IEC TS 18661-4. It retains the feature that was not incorporated into C23, namely the reduction functions. It also adds support for the augmented arithmetic operations introduced in IEC 60559:2020.
 
This document updates ISO/IEC TS 18661-5, which was not incorporated into C23.
 
Page 1, Lines 11, 18, 20, 22, 24, 26: In five places, change “this technical specification” to “this document”.

Page 2, Line 9: Change “The specification in C23 allows” to “The specification in C23 Clause 2 allows”.
 
Page 2, Line 27: Change “support the attributes recommended by” to “support attributes recommended by”.
 
Page 6, Line 19: Insert:

Recommended practice
If the value of width appearing in an evaluation method pragma (7.1, 7.2) is not supported, the implementation is encouraged to issue a diagnostic message.

Page 12, Lines 5 and 6: Change “If the implementation defines __STDC_IEC_60559_FUNCS__ and it provides a set of correctly rounded math functions” to “If the implementation provides a set of correctly rounded math functions”.
 
Page 13, Lines 1-3: Change:
 
The implementation should produce a diagnostic message if ...
 
to:
 
Recommended practice
The implementation is encouraged to issue a diagnostic message if ...
 
Page 13, Line 26: Change: 
 
1 + ⎡p×log10(2)⎤	
 
to:
 
1 + ⌈p×log10(2)⌉
 
Page 14: Lines 1-2: Change:
 
—     The code does not depend on the sign of a zero result or the quantum of a decimal result for the fmin, fmax, fminmag, and fmaxmag functions when the arguments are equal.

to:

—     The code does not depend on the quantum of a result for the decimal maximum and minimum functions in C23 7.12.12 when the arguments are equal.

Page 15, Line 10 to Page 16, Line 8: Apply changes shown in the attachment to [Cfp-interest 2821]:

The <fenv.h> header should define macros for the following sub-exceptions and may define additional
macros with the appropriate prefix (FE_INVALID_ or FE_DIVBYZERO_) for other sub-exceptions. The
supported exception designations shall include the defined sub-exception macro identifiers (if any). If
defined, the macros expand to integer constant expressions. Sub-exceptions corresponding to defined
macros occur as specified below, and not in other cases.

— “invalid” floating-point exceptions from add and subtract operators and functions that add
or subtract (C23 7.12.14.1, and 7.12.14.2, F.10.11), not caused by signaling NaN input
	FE_INVALID_ADD

— “invalid” floating-point exceptions from divide operators and functions that divide (C23
7.12.14.4, F.10.11), not caused by signaling NaN input
	FE_INVALID_DIV

— “invalid” floating-point exceptions from functions that compute multiply-add (C23 7.12.13.1,
F.10.10.1, and 7.12.14.5, F.10.11) and from contracted multiply and add operators, not
caused by signaling NaN input
	FE_INVALID_FMA

— “invalid” floating-point exceptions from conversions from floating to integer types (C23 F.4),
not caused by signaling NaN input
	FE_INVALID_INT

— “invalid” floating-point exceptions from ilogb and llogb functions (C23 F.10.3.8,
F.10.3.10), not caused by signaling NaN input
	FE_INVALID_ILOGB

— “invalid” floating-point exceptions from multiply operators and functions that multiply (C23
7.12.14.3, F.10.11), not caused by signaling NaN input
	FE_INVALID_MUL

— “invalid” floating-point exceptions from the quantizedN functions (C23 7.12.15.1), not
caused by signaling NaN input
	FE_INVALID_QUANTIZE

— “invalid” floating-point exceptions from the remainder and remquo functions (C23
F.10.7.2, F.10.7.3), not caused by signaling NaN input
	FE_INVALID_REM

— “invalid” floating-point exceptions from functions that compute square root or reciprocal of
square root (C23 7.12.7.9F.10.4.9, 7.12.7.10F.10.4.10, and 7.12.14.67.12.14.6, F.10.11), not
caused by signaling NaN input
	FE_INVALID_SQRT

— “invalid” floating-point exceptions caused by signaling NaN input (C23 F.2.1)
	FE_INVALID_SNAN

— “invalid” floating-point exceptions from relational operators and comparison macros (C23
6.5.8, 7.12.17, F.10.14.1), not caused by signaling NaN input
	FE_INVALID_UNORDERED

— “divide-by-zero” floating-point exceptions from divide operators and functions that divide
(C23 7.12.14.4, F.10.11)
	FE_DIVBYZERO_ZERO

— “divide-by-zero” floating-point exceptions from logarithm and logb functions (C23
F.10.3.11, F.10.3.12, F.10.3.13, F.10.3.14, F.10.3.15, F.10.3.16, F.10.3.17)
FE_DIVBYZERO_LOG

Page 20, Line 14: Shift to left to match other #pragma.
 
 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.oakapple.net/pipermail/cfp-interest/attachments/20230824/8993b3db/attachment-0001.htm>


More information about the Cfp-interest mailing list