[Bug 3250] definition of precisionDecimal

http://www.w3.org/Bugs/Public/show_bug.cgi?id=3250





------- Comment #1 from davep@iit.edu  2006-05-11 03:06 -------
(In reply to comment #0)

> While 3.3.3.1 goes to some lengths to give a respectably formal definition of
> the value space of xs:decimal, 3.3.4.1 makes no serious attempt to do so for
> xs:precisionDecimal.

This comment surprises me, since decimal's value space is described as a
subset of the real numbers, and precisionDecimal's value space is described
as a specific set of constructed objects, whose properties are carefully
defined.

>                              Part of the problem, I think, is that there is a hint that
> the data type has "floating point" characteristics, which isn't actually
> carried through in the definition. If the value space contains all decimal
> numbers with trailing zeros considered significant, a "floating-point"
> implementation is likely to restrict this infinite space to a subset containing
> say N consecutive non-zero digits anywhere, while a "fixed-point"
> implementation is likely to restrict it to a subset containing N digits before
> and F digits after the decimal point.

Traditional "fixed-point" datatypes are isomorphic to the result of fixing the
maxScale and minScale at the same value, thereby essentially fixing the
number of fractional digits in lexical representations (or perhaps in the
base-two representations used in the computer).  Traditional "floating-point"
datatypes fix the number of "significant" digits in lexical representations.
We have provided for such a restriction using the totalDigits facet; we believe
that a "minTotalDigits" would not be useful often enough to be worth
implementing.

The precision we call "arithmetic" refers to precision sometimes expressed
by "plus or minus some specific amount"; for some precision systems it
can be expressed by the fractional digits of a decimal numberal.  OTOH,
the precision that might be called "geometric" refers to precision sometimes
expressed by "plus or minus some percentage"; it is not easily expressed
with a single numeral that also specifies the value of the approximation.
But closely related is what, for want of a better name, might be called
"floating-point precision", and is specified by the total significant digits
used in the numeral; it is "arithmetic in the small but geometric in the
large".  In traditional "floating-point" datatypes, this floating-point
precision is fixed or at least limited; in traditional fixed-point datatypes
the arithmetic precision is fixed.  In precisionDecimal, neither arithmetic
nor floating-point precisions are fixed or limited.

Received on Thursday, 11 May 2006 03:06:11 UTC