// Ein AND 2^(q+1)-1 erreicht dies.
// Vom letzten Digit müssen die hinteren p Bits unberücksichtigt bleiben.
// Ein AND -2^p erreicht dies.
- if (--len==0)
+ if (--len==0) {
// 1 Digit maßgeblich, wird von beiden Seiten angeschnitten:
// Ein AND 2^(q+1)-2^p erreicht dies.
if (!(((uintD)(bitm(q+1)-bit(p)) & mspref(MSDptr,0)) == 0))
return true;
- else
+ else
return false;
+ }
// mindestens 2 Digits. Teste erst die Randdigits, dann die inneren:
if (!(((msprefnext(MSDptr) & (uintD)(bitm(q+1)-1)) == 0) &&
((lsprefnext(LSDptr) & (uintD)(minus_bit(p))) == 0)
};
const gcd_result gcd (const pol2& u)
{
- if (zerop(u.c1))
+ if (zerop(u.c1)) {
// constant polynomial u(X)
if (zerop(u.c0))
return gcd_result(2);
else
return gcd_result(0);
+ }
// u(X) = c0 + c1*X has zero -c0/c1.
var cl_MI_x c1inv = R->recip(u.c1);
if (c1inv.condition)