mulint( a, b, c ) mp a, b, c; /* Multiply two integers. a*b-->c */ {int i, j, la, lb; /* b and c may coincide */ la = length(a); lb = length(b); for (i=0; i0; i--) { for (j=2; j MAXD-(BASE-1)*(BASE-1)-MAXD/BASE ) { c[i+j-1] -= (MAXD/BASE)*BASE; c[i+j] += MAXD/BASE; } c[i] = b[i]*a[1]; } storelength( c, la+lb-2 ); storesign( c, sign(a)==sign(b) ? POS : NEG ); normalize( c ); };