Re: [xsl] floor() and idiv

Subject: Re: [xsl] floor() and idiv
From: mozer <xmlizer@xxxxxxxxx>
Date: Thu, 6 Nov 2008 19:38:12 +0100
Well this one is interesting since in XPath 2 F&O spec
it is said that

[[
Thus, the semantics " $a idiv $b " are equivalent to " ($a div $b)
cast as xs:integer " except for error situations.
]]

A bug in the spec or in Saxon ?

  floor(1000000000000000000000000000000001 div
100000000000000000000000000000001),
  1000000000000000000000000000000001 idiv 100000000000000000000000000000001,
 (1000000000000000000000000000000001 div
100000000000000000000000000000001) cast as xs:integer

gives

10, 9, 10

Xmlizer

On Thu, Nov 6, 2008 at 7:04 PM, David Carlisle <davidc@xxxxxxxxx> wrote:
>
>> not for negative values
>
> and not for some positive values either,
>
>
> let
> $x := 100000000000000000000000000000001,
> $y := 1000000000000000000000000000000001
> return
> (floor($y div $x), $y idiv $x)
>
>  saxon8q div.xq
> <?xml version="1.0" encoding="UTF-8"?>10 9
>
>
>
> not for any values at all if you are a strict typing sort of person, as
> floor returns an xs:decimal (as integer div integer is decimal) and idiv
> returns an integer.
>
> (oops sorry about the xquery:-)
>
> David
>
> ________________________________________________________________________
> The Numerical Algorithms Group Ltd is a company registered in England
> and Wales with company number 1249803. The registered office is:
> Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.
>
> This e-mail has been scanned for all viruses by Star. The service is
> powered by MessageLabs.
> ________________________________________________________________________

Current Thread