Public Comment Number PC-UK0164 ISO/IEC CD 9899 (SC22N2620) Public Comment =========================================== Date: 1998-02-25 Author: N.M Maclaren Author Affiliation: Self Postal Address: University of Cambridge, Computer Laboratory, New Museums Site, Pembroke Street, Cambridge CB3 3QG, United Kingdom E-mail Address: Telephone Number: +44 1223 334761 Fax Number: +44 1223 334679 Number of individual comments: 1 Comment 1. Category: Editorial change/non-normative contribution Committee Draft subsection: G.4.1 Title: Complex multiplicative operators Detailed description: Paragraph 5 sends shudders up my spine but, unfortunately, it is obvious why it has to allow spurious exceptions. However, I am 99% certain that efficient implementations are possible while raising spurious invalid, overflow and underflow exceptions only in borderline cases. But please note that I am only 99% certain! I suggest adding the following: Recommended practice A good implementation will not produce spurious invalid exceptions, except possibly when at least one of the component values is an infinity or a NaN. It will not produce spurious overflow or divide-by-zero exceptions, except possibly when abs(x)*abs(x) for at least one of its operands would overflow or be infinite or, for the second operand of the / operator only, 0.5*abs(x)*abs(x) would underflow. And, yes, I know that the example code fails to do this. However, in the light of my comments on 7.14.2.2 The srand function, it is highly desirable to have some wording that discourages implementors from taking examples as normative code.