You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by jy...@apache.org on 2004/02/10 23:26:43 UTC

cvs commit: xml-xalan/java/src/org/apache/xpath/functions FuncRound.java

jycli       2004/02/10 14:26:43

  Modified:    java/src/org/apache/xpath/functions FuncRound.java
  Log:
  Fix for bugzilla bug report 24111.
  
  The string values for both positive and nagative zero are 0. However,
  a number div 0 returns Infinity, a number div -0 returns -Infinity.
  
  Revision  Changes    Path
  1.9       +5 -1      xml-xalan/java/src/org/apache/xpath/functions/FuncRound.java
  
  Index: FuncRound.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xpath/functions/FuncRound.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- FuncRound.java	17 Oct 2003 20:59:24 -0000	1.8
  +++ FuncRound.java	10 Feb 2004 22:26:43 -0000	1.9
  @@ -77,7 +77,11 @@
      */
     public XObject execute(XPathContext xctxt) throws javax.xml.transform.TransformerException
     {
  -    return new XNumber(java.lang.Math.floor(m_arg0.execute(xctxt).num()
  +          final XObject obj = m_arg0.execute(xctxt);
  +          final double val= obj.num();
  +          if (val >= -0.5 && val < 0) return new XNumber(-0.0);
  +          if (val == 0.0) return new XNumber(val);
  +          return new XNumber(java.lang.Math.floor(val
                                               + 0.5));
     }
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org