W3C home > Mailing lists > Public > public-qt-comments@w3.org > September 2004

RE: [F&O]: Result of arithmetic involving Inf

From: Henry Zongaro <zongaro@ca.ibm.com>
Date: Tue, 14 Sep 2004 10:49:44 -0400
To: Ashok Malhotra <ashok.malhotra@oracle.com>
Cc: public-qt-comments@w3.org
Message-ID: <OFD59D3CB6.CCD6A2D0-ON85256F0F.00502E26-85256F0F.005174D2@ca.ibm.com>

Hi, Ashok.

On July 27, I wrote:
>      According to section 6.2 of the 2004-07-23 Working Draft of F&O, 
"For 
> op:numeric-add, op:numeric-subtract and op:numeric-multiply if either 
> operand is INF or -INF the result is NaN."
> 
>      I believe that statement is not consistent with IEEE-754. 
Multiplying 
> a zero value by an Infinity, adding Infinities that have opposite signs, 

> or subtracting Infinities that have the same sign should result in NaN. 
In 
> addition, adding, subtracting or multiplying an Infinity and a NaN 
should 
> result in a NaN.  Other combinations involving an operand with infinite 
> magnitude will result in an infinity with the appropriate sign.

And Ashok responded:
> I believe you are referring to adding, subtracting and multiplying a 
finite
> number by +/- INF.  In this case, it seems reasonable that the 
> result should be
> +/- INF.  Also, INF + INF = INF and -INF - (-INF) = -INF.
> 
> While these seem reasonable, I come to that conclusion by inference from 
what
> IEEE-754 does say and not from any direct statement therein.  If you 
were 
> quoting directly from 754 please provide a reference.  I could not find 
one.
> 
> I suggest we remove statement you objected to and add notes to op:
> numeric-add/subtract/multiply, covering these cases, similar to the 
> note we added for 
> op:numeric-divide.

     I'm sorry for the long delay in following up.  I sent my comment just 
before taking time off, and forgot to follow up until yesterday's editors' 
call.

     Section 6.1 of IEEE-754 "Infinity Arithmetic" states that "Arithmetic 
on [infinity] is always exact and therefore shall signal no exceptions, 
except for the invalid operations specified for [infinity] in 7.1." 
Section 7.1 lists the invalid operations on infinity as follows:

  (2) Addition or subtraction - magnitude subtraction of
      infinites such as (+infinity) + (-infinity)
  (3) Multiplication - 0*infinity
  (4) Division - 0/0 or infinity/infinity
  (5) Remainder - x REM y, where y is zero or x is
      infinite

I agree that any information should be placed in notes - we just have 
ensure it doesn't contradict IEEE-754.

Thanks,

Henry
------------------------------------------------------------------
Henry Zongaro      Xalan development
IBM SWS Toronto Lab   T/L 969-6044;  Phone +1 905 413-6044
mailto:zongaro@ca.ibm.com
Received on Tuesday, 14 September 2004 14:50:19 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 16:56:59 UTC