Differences between 754 and 854
David James pointed out some other instances where 854 and 754 diverge,
aside from the formats sections 3.1-3.3; when I looked further I found
a number, including these more significant ones:
-
all: "precision" generally replaces "format"
-
all: "convert between internal floating-point representations and decimal
strings" generally replaces "binary <-> decimal conversion"
-
all: "subnormal" generally replaces "denormalized"
-
all: radix point replaces binary point
-
1.2(1): Constraints on format parameters of precisions rather than formats.
-
1.3(1): Formats and encodings not specified.
-
2 exponent: "signed" and "unbiased" are italicized
-
2: floating-point number defined.
-
2: normal number defined
-
2: radix defined
-
2: significand defined for general radix
-
3.1: note typo in 854 middle of second column,
after "Numbers of the form ... (d0d1d2...
needs a point between d0 and d1.
-
4.1: round to infinity threshold formula for general radix
-
5.4: fp->int adds
"When no other exception arises, this operation signals inexact
whenever its results differs in value from its operand."
-
5.5: fp->integral adds
"This operation signals inexact
whenever its results differs in value from its operand.
This operation leaves zeros and infinities unchagned."
-
5.6: base conversion - quite a bit more added,
most good, and the following nonsense jumbled lines
at the end of page 11:
"Either
### floating-point shall be the identity as long as the
### decimal string is carried to the maximum preci-
### sion specified in Table 1, namely, MaxD digits.[5]
representation may be produced on output; both should
be accepted on input."
The ### lines are a typo repeat from the head of that column
that should have been omitted.
-
6.3: algebraic sign -
"The sign of the result of the operation that rounds floating-point
numbers to integral values (5.5), and of precision [### note "conversions"
missing in 854 text] (5.3), and decimal string (5.6) conversion shall be
the sign of the operand."
Tydeman:
At the start of the
first paragraph, 854 has sign of NaN not determined, while
754 has sign of NaN not interpreted.
854 requires
that -0.0 when converted to integer encoding preserve that sign
(if possible).
-
7.1: invalid operation -
first paragraph of 854 omits "provided the destination has a floating-point
format".
-
7.1(8) 854 adds "conversion of an unrecognizable input string"
-
7.3 754 "exponent bias" replaced by 854 "exponent"
-
7.4 underflow - choices are labeled (1) (2) and (1) (2) instead
of (1) (2) and (3) (4).
-
App (3) scalb - overflow/underflow defined.
-
App (4) logb - 854 normalizes argument first.
854 has typo "For x positive and finite" should be "For x non-zero and finite".
-
App (11) conv added.
-
App (12) nearbyinteger added.