/[classpath]/classpath/native/fdlibm/mprec.c
ViewVC logotype

Diff of /classpath/native/fdlibm/mprec.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4 by mkoch, Fri May 21 07:03:56 2004 UTC revision 1.4.2.1 by gnu_andrew, Fri May 27 00:01:45 2005 UTC
# Line 385  _DEFUN (mult, (ptr, a, b), struct _Jv_re Line 385  _DEFUN (mult, (ptr, a, b), struct _Jv_re
385  #else  #else
386    for (; xb < xbe; xc0++)    for (; xb < xbe; xc0++)
387      {      {
388        if (y = *xb++)        if ((y = *xb++))
389          {          {
390            x = xa;            x = xa;
391            xc = xc0;            xc = xc0;
# Line 488  _DEFUN (lshift, (ptr, b, k), struct _Jv_ Line 488  _DEFUN (lshift, (ptr, b, k), struct _Jv_
488        z = 0;        z = 0;
489        do        do
490          {          {
491            *x1++ = *x << k & 0xffff | z;            *x1++ = (*x << k & 0xffff) | z;
492            z = *x++ >> k1;            z = *x++ >> k1;
493          }          }
494        while (x < xe);        while (x < xe);
495        if (*x1 = z)        if ((*x1 = z))
496          ++n1;          ++n1;
497      }      }
498  #endif  #endif
# Line 718  _DEFUN (b2d, (a, e), Line 718  _DEFUN (b2d, (a, e),
718    if (k < Ebits + 16)    if (k < Ebits + 16)
719      {      {
720        z = xa > xa0 ? *--xa : 0;        z = xa > xa0 ? *--xa : 0;
721        d0 = Exp_1 | y << k - Ebits | z >> Ebits + 16 - k;        d0 = Exp_1 | y << (k - Ebits) | z >> (Ebits + 16 - k);
722        w = xa > xa0 ? *--xa : 0;        w = xa > xa0 ? *--xa : 0;
723        y = xa > xa0 ? *--xa : 0;        y = xa > xa0 ? *--xa : 0;
724        d1 = z << k + 16 - Ebits | w << k - Ebits | y >> 16 + Ebits - k;        d1 = z << (k + 16 - Ebits) | w << (k - Ebits) | y >> (16 + Ebits - k);
725        goto ret_d;        goto ret_d;
726      }      }
727    z = xa > xa0 ? *--xa : 0;    z = xa > xa0 ? *--xa : 0;
728    w = xa > xa0 ? *--xa : 0;    w = xa > xa0 ? *--xa : 0;
729    k -= Ebits + 16;    k -= Ebits + 16;
730    d0 = Exp_1 | y << k + 16 | z << k | w >> 16 - k;    d0 = Exp_1 | y << (k + 16) | z << k | w >> (16 - k);
731    y = xa > xa0 ? *--xa : 0;    y = xa > xa0 ? *--xa : 0;
732    d1 = w << k + 16 | y << k;    d1 = w << (k + 16) | y << k;
733  #endif  #endif
734  ret_d:  ret_d:
735  #ifdef VAX  #ifdef VAX
# Line 812  _DEFUN (d2b, Line 812  _DEFUN (d2b,
812  #endif  #endif
813      }      }
814  #else  #else
815    if (y = d1)    if ((y = d1))
816      {      {
817        if (k = lo0bits (&y))        if ((k = lo0bits (&y)))
818          if (k >= 16)          if (k >= 16)
819            {            {
820              x[0] = y | z << 32 - k & 0xffff;              x[0] = y | (z << (32 - k) & 0xffff);
821              x[1] = z >> k - 16 & 0xffff;              x[1] = z >> (k - 16) & 0xffff;
822              x[2] = z >> k;              x[2] = z >> k;
823              i = 2;              i = 2;
824            }            }
825          else          else
826            {            {
827              x[0] = y & 0xffff;              x[0] = y & 0xffff;
828              x[1] = y >> 16 | z << 16 - k & 0xffff;              x[1] = (y >> 16 | z << (16 - k)) & 0xffff;
829              x[2] = z >> k & 0xffff;              x[2] = z >> k & 0xffff;
830              x[3] = z >> k + 16;              x[3] = z >> (k + 16);
831              i = 3;              i = 3;
832            }            }
833        else        else

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.4.2.1

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26