Re: precision on op:numeric-divide

Michael Brundage <[email protected]>
Newsgroups gmane.comp.web.query-languages
Message-ID <BBFC07D8.9CE%[email protected]>
Hi Damien,

You may get a more prompt response from the W3C on
[email protected].

It is, of course, not possible to construct an irrational number in XQuery.
Rational numbers in XQuery (like the answer to 1 idiv 3) are represented
using the types xs:integer or xs:decimal, both of which are allowed to be
arbitrary precision but are also allowed to have an implementation-defined
limited precision.

This used to be called out very clearly in previous XQuery drafts; in the
current drafts, one place it is stated is in section 6.2 of the F&O draft:
The number of digits of precision returned by various numeric functions is
·implementation dependent·.
and the XML Schema specs say that implementations may limit the precision of
these types.

In my experience, most XQuery implementations limit xs:integer to either
32-bit or 64-bit integers, and xs:decimal to either 64-bit or 128-bit
numbers (i.e., whatever the underlying implementation language ‹ typically
Java, C#, C++, etc. ‹ supports natively or through built-in libraries).



Hope this helps,

Michael Brundage
[email protected]

Writing as
Author, XQuery: The XML Query Language (Addison-Wesley, 2004)
Co-author, Professional XML Databases (Wrox Press, 2000)

not as
Technical Lead
Common Query Runtime/XML Query Processing
WebData XML Team
Microsoft



On 12/9/03 6:00 PM, "Damien Fisher" <[email protected]> wrote:

> op:numeric-divide has a special case when the two inputs are of type
> xs:integer, and in this case returns an xs:decimal.
> 
>  
> 
> What, then, is the answer to op:numeric-divide(1, 3)?  Is it 0.3?  0.33?
> 0.333?  In other words, to what precision should irrational answers be
> returned?  And should rational answers always be returned exactly, even if
> that requires an enormous amount of precision?
> 
>  
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.