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; |
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 |
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 |
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 |