-
Notifications
You must be signed in to change notification settings - Fork 7
Description
Full name of submitter (unless configured in github; will be published with the issue): Jiang An
Reference (section label): [basic.fundamental]
Link to reflector thread (if any):
Issue description:
Currently the range of representable values of a given floating-point type is underspecified in [basic.fundamental], but the range is already referred in [lex.fcon] p3 and the library wording (e.g. in [charconv.from.chars] p1 and [facet.num.get.virtuals] p3).
The range is well-specified in C, perhaps C++ should adopt the C wording.
Suggested resolution:
Insert a new paragraph immediately after [basic.fundamental] p12 (originally WG14 N3096 5.2.4.2.2 p13):
X. The minimum range of representable values for a floating-point type is the most negative finite floating-point number representable in that type through the most positive finite floating-point number representable in that type. In addition, if negative infinity is representable in a type, the range of that type is extended to all negative real numbers; likewise, if positive infinity is representable in a type, the range of that type is extended to all positive real numbers.
Insert a note for ISO 60559 types immediately after the new paragraph (originally WG14 N3096 F.2.1 p1):
[Note X: Since negative and positive infinity are representable in ISO/IEC/IEEE 60559 formats, all real numbers lie within the range of representable values of a floating-point type adhering to ISO/IEC/IEEE 60559. — end note]