[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

update: motion addressing the need for consistency in distinguishing between numbers and NaNs



Motion: Make the draft consistent in distinguishing between

numbers and non-numbers (NaNs).

 

Seconded: Jim Thomas

 

Thanks: To Jim Thomas and Michel Hack for their significant help

in completing the text of this motion.

 

Rationale: Much of the draft distinguishes between numbers

and NaNs. For example, see sections

 

    7.3.1 ("if one operand is a number and the other a NaN")

 

    7.5.1 ("treating numbers and NaNs alike")

 

    7.10 ("totalOrder(number, +NaN)")

 

and

 

    9.4 ("nextAfter is infinite and differs from the number x")

 

which become incorrect if NaNs are considered to be numbers.

 

The proposal is that we change the draft so that it is

consistent with this distinction, and that we adopt the

term “floating-point value” to refer to the collection

consisting of numbers and NaNs. One alternative, where a

NaN is considered to be a number, seems inconsistent with

the interpretation of the definition of NaN as "not-a-number."

 

This motion is consistent with the following classification

(prefix floating-point is assumed):

 

value

    number

        finite

            zero

            nonzero

                normal

                subnormal

        infinite

    NaN

 

and here is the adjusted glossary entry:

 

3.2.16 floating-point value: a member of a floating-point

format. Floating-point values include finite and infinite

floating-point numbers and nonnumbers (NaNs).  A finite

floating-point number has three components: a sign, an

exponent, and a significand.  It's numerical value is the

signed product of it significand and its radix raised to the

power of its exponent. In this standard, a floating-point

value is not always distinguished from its format encoding.

 

-------------

 

Here are changes that would clarify uses of "number" in the

draft, in line with the classification above.

 

p10 1.2 first bullet: delete "number"

 

p10 1.2 fifth bullet: change "numbers" to "values"

 

p14 3.2.15: change "number" to "number or NaN"

 

p14 3.2.16: change as above

 

p15 3.2.37: change "number" to "number or NaN", or change

"number" to "finite number", depending on intent

 

p19 Table 2 title: change "numbers" to "finite numbers"

 

p20 5.4 para 2: change "Numbers" to "Values"

 

p21 5.5 para 5: change "Numbers" to "Values"

 

p24 Table 7 title: change "numbers" to "finite numbers"

 

p25 6.2 para 1: change "number" to "finite number"

 

p34 7.5.2 change "numbers" to "values", twice

 

p44 7.12 style-review change from Jim and Mike pending

 

p47 next to last para:  "numbers" to "numbers and NaNs"

 

p51 i) "number" to "value"

 

-------------

 

Here are changes that would clarify uses of "value" in

the draft, again in line with the classification above.

 

5.3:   "For any variable that has the value zero, the sign

       bit provides an extra bit of information":

 

Jim and Warren Replacement: "For any variable that has a zero

       value ..."

Michel Replacement: "For any variable that has the numeric

       value zero ..."

Aside: Style review should consider use of variable here.

 

5.4  text for 2nd bullet c), "If 1 <= E <= ..."

     text for bullet d), "If E=0 and T^=0..."

     "the corresponding representable entity value v is..."

 

Replacement: "the representable entity v = ..."

 

7.3.2 description of

   quantize(x,y)):  the result "is a number in the same

                    format which has the same value as x and

                    the same quantum as y."

 

Replacement: For finite decimal operands ... which has the

             same numeric value as x ...".

 

7.8 para 3 and 4:  floating-point value (2) and operand value (1).

 

Jim and Warren Replacement: None needed, use of floating-

        point value is what is intended.

Michel Replacement: "When the rounded-to-integral numeric

        value ..." . The rationale is that NaNs are

        implicitly excluded here, but included in the

        proposed meaning of floating-point value.

 

7.12.3  3rd-last para:  implied numeric, but implication is

                        subtle.

 

Jim and Warren Replacement: Ok as is; the whole section is

        about finite numbers.

Michel Replacement: "As a consequence ... : increasing the

        numeric value of an internal ..."

 

7.12.3  2nd-last para:  "source value": implied numeric, but

        subtle.

 

Replacement: In the second sentence: "The result format's

             numeric values are the numbers ..."

 


754 | revision | FAQ | references | list archive