Re: [xsl] Q on XSLT number calculation precision

Subject: Re: [xsl] Q on XSLT number calculation precision
From: Michael Kay <mike@xxxxxxxxxxxx>
Date: Fri, 18 Feb 2011 00:04:55 +0000
On 17/02/2011 22:56, Hermann Stamm-Wilbrandt wrote:
Hello,

are there any requirements on precision of number calculations for XSLT?

Your question actually seems to be about XSLT 1.0.


XSLT 1.0 requires use of IEEE double precision floating point. But I suspect there's sufficient wriggle-room that two processors can produce different results and still claim conformance.

Michael Kay
Saxonica

I wrote stylesheet [3] just summing the first 1000 (small) terms of this
nice identity on binomial coefficient reciprocals I proved 28 years ago:

$$ \sum_{i=j+1}^{\infty}{}^1/_{i\choose j}={}^1/_{(j-1)} , ~ j\ge 2 $$

Pascal.xml [2] just starts the computation with jmax=12 and terms=1000.

I opened Pascal.xml in the big five browsers, arranged them in order to
easily compare their results and took screenshot [3] from that.

Not surprisingly the most left and most right column (Chrome and Safari)
are identical (same XSLT engine).

Interestingly Firefox and Internet Explorer produce nearly identical
values.

For j<=7 Opera is fine, but for j>=8 something goes really wrong.
The sum of the 1000 terms becomes bigger than then infinity sum :-)


[1] http://stamm-wilbrandt.de/en/xsl-list/Chrome_FF_IE_Opera_Safari-XSLT_precision.gif [2] http://stamm-wilbrandt.de/en/blog/Pascal.xml [3] http://stamm-wilbrandt.de/en/blog/Pascal.xsl


Mit besten Gruessen / Best wishes,


Hermann Stamm-Wilbrandt
Developer, XML Compiler, L3
Fixpack team lead
WebSphere DataPower SOA Appliances
----------------------------------------------------------------------
IBM Deutschland Research&  Development GmbH
Vorsitzender des Aufsichtsrats: Martin Jetter
Geschaeftsfuehrung: Dirk Wittkopp
Sitz der Gesellschaft: Boeblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294

Current Thread