The specification has been enhanced to include
tests for extended value arithmetic (including subnormal values and values such
as NaN and Infinity). In particular:
A new version directive has been added to allow a formal version
number to be indicated.
A new extended directive controls the extended-values
setting.
Operands and results with extended values are now possible.
A new operation, integer (round-to-integer) has been added.
Three new testcase groups, extend, integer, and
randomBound32, have been added.
This version marks a major update of the testcases
to match the new combined arithmetic specification. The underlying syntax,
etc., of the testcases is unchanged, but specific changes include:
Each testcase group has been split into two groups, one with the
extended directive set to 1 and the other with it set to 0.
One new operation and (pair of) testcase groups (trim) has been
added.
The extended testcase group has been removed and its testcases
incorporated into other groups.
This version incorporates updates to testcases
for subnormal numbers (previous testcases included subnormals which were more
precise than allowed by IEEE 854), and also adds testcases for rounding
to-number conversions. The subnormal condition has been added,
and subnormal numbers may be rounded and/or inexact (in the latter case,
underflow is raised).
In this document:
The subnormal condition has been added.
The conversion underflow and
conversion overflow conditions have been removed (these
conditions now raise underflow or overflow, respectively).
The operand to the toSci and toEng operations is now
subject to rounding.
The normalize and squareroot operations and testcase
groups have been added.
Extended tests now admit unrounded long operands without input rounding;
the Lost_digits condition can therefore only occur when extended is 0.
Three cases in remaindernear.decTest which should have produced
Division_impossible, but did not, have been corrected (and extra tests have
been added).