<div dir="ltr"><div dir="ltr"><div class="gmail_quote">We have an outstanding action item regarding the language around "range of representable values" in the standard. This note describes the issue and proposes a fix for further discussion.</div><div class="gmail_quote"><br></div><div class="gmail_quote">The phrase <span style="background-color:transparent">"range of representable values" occurs 11 times in draft n3685.  The first (5.3.5.3.3p19) and last (F.2.2p1) deal specifically with floating-point types and are problematical. The second through tenth instances refer in some cases to integer types and in others generically to floating and integer types. They convey the clear intent that "range of representable values" refers to the collection of all representable values. </span></div><div class="gmail_quote"><span style="background-color:transparent"><br></span></div><div class="gmail_quote">Here is the proposal to simplify and clarify this language. First<span style="background-color:transparent"> 5.3.5.3.3p19  from:</span></div><div class="gmail_quote"><div dir="ltr"><div><br></div><div>The <font color="#ff0000"><strike>minimum</strike></font> range of representable values for a floating type is <font color="#ff0000"><strike>the most negative finite </strike></font><strike><font color="#ff0000">floating-point<br>number</font></strike><font color="#ff0000"><strike> 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.</strike></font></div><div><br></div><div>To:</div><div><br></div><div>The range of representable values for a floating type is <font color="#0000ff">the collection of representable finite, infinite, and NaN values.</font></div><div><br></div><div>Then F.2.2p1 from:</div><div><div><br>As negative <font color="#ff0000"><strike>and positive infinity</strike></font> are representable in ISO/IEC 60559 formats, <strike style="color:rgb(255,0,0)">all real numbers</strike><font color="#000000"> lie<br>within the range of representable values</font> (5.3.5.3.3).</div><div><div><br>As negative<font color="#0000ff"> infinity, positive infinity, and NaNs</font> are representable in ISO/IEC 60559 formats, <font color="#0000ff">they</font> lie within the range of representable values (5.3.5.3.3).</div><div><br></div></div></div><div><br></div><div>Summary comments:</div><div>1) The concept of "range of representable values" is not a core definition in the standard. In the few places it's used, the meaning is "set of representable values".</div><div><br></div><div>2) The concept is introduced for floating types in 5.3.5.3.3 Characteristics of floating types <float.h>; and for integer types in 6.2.5 Types. Why not in 5.3.5.3.2 Characteristics of integer types <limits.h> and <stdint.h>?</div><div><br></div><div>3) The meaning of "minimum" in "minimum range of ..." is unclear and seems never to matter. The range is the range. The current verbiage is redundant with the more specific model description given earlier in the draft, so it adds no value.</div><div><br></div><div>4) The language about the range including "all real numbers" when infinities are defined is mistaken and, in any case, out of place. This small slice of the standard is about representable values.</div><div><br></div><div>4) For completeness, there is one instance of "range of representable finite . . ." in H.3p7 Characteristics of <float.h>, with regard to the largest power of 10 that is representable.</div><div><br></div><div>Perhaps we can discuss this in an upcoming meeting.</div><div><br></div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">-Jerome Coonen<div> <a href="tel:(650)%20996-4738" value="+16509964738" target="_blank">650.996.4738</a></div><div> <a href="mailto:jcoonen@gmail.com" target="_blank">jcoonen@gmail.com</a></div></div></div></div></div>
</div></div>
</div>