*/
  public void Add( BigNumber aX,  BigNumber aY, int aPrecision)  {    boolean floatResult = (aX.decimal != null || aY.decimal != null);    if (floatResult)    {      BigDecimal dX = GetDecimal(aX);      BigDecimal dY = GetDecimal(aY);      integer = null;      decimal = dX.add(dY);      int newScale = iPrecision;      if (newScale < decimal.scale())        decimal = decimal.setScale(newScale,BigDecimal.ROUND_HALF_EVEN);    }    else    {      decimal = null;      integer = aX.integer.add(aY.integer);    }  }