- From: <peiyongz@ca.ibm.com>
- Date: Tue, 26 Nov 2002 14:29:34 -0500
- To: xmlschema-dev@w3.org
Hi, there,
We have encountered numerous test cases wrt double/float, which
have numbers that we think
are not valid double/float according to the Specs, and would like
to have clarification from the
Schema WG to confirm that our interpretation is conformant to the
Specs.
Following is an exerpt from the Schema Spec,
http://www.w3.org/TR/xmlschema-2/#double
3.2.5 double
[Definition:] The double datatype corresponds to IEEE double-precision
64-bit floating point type [IEEE 754-1985]. The basic ˇvalue spaceˇ of
double consists of the values m × 2^e, where m is an integer whose
absolute value is less than 2^53, and e is an integer between -1075 and
970, inclusive. In addition to the basic ˇvalue spaceˇ described above,
the ˇvalue spaceˇ of double also contains the following special values:
positive and negative zero, positive and negative infinity and
not-a-number. The ˇorder-relationˇ on double is: x < y iff y - x is
positive. Positive zero is greater than negative zero. Not-a-number
equals itself and is greater than all double values including positive
infinity.
From the above, could we reach the conclusions below?
#1. Any thing falling in either of the 2 areas, is considered to be
valid double.
[ (-2^53 + 1) * 2^970, -1 * 2^-1075]
[ 1 * 2^ -1075, (2^53 - 1) * 2^ 970].
(not to mention the other five -0, 0, -INF, INF and NaN)
#2. Any thing falling in either of the 4 areas, is considered to be
invalid double.
( -INF, (-2^53 + 1) * 2^970 )
( -1 * 2^ -1075, 0)
( 0, 1 * 2^-1075)
( (2^53 - 1) * 2^ 970, INF )
Legend: "[" , "]" denotes inclusive, or closed
"(" , " )" denotes exclusive, or open
The same discussion shall be applicable to float as well ( with
different boundary values only), thanks.
Regards,
Peiyong Zhang
____________________________________________
XML Parsers Development, D2-265
IBM Toronto Laboratory , 8200 Warden, Markham
Email: peiyongz@ca.ibm.com
Phone: (905)413-4088
Fax: (905)413-4854; T/L: 778-4088
Received on Tuesday, 26 November 2002 14:33:12 UTC