Lines Matching defs:digs
141 static int s_mp_mul_digs (mp_int * a, mp_int * b, mp_int * c, int digs);
143 static int s_mp_mul_high_digs(mp_int * a, mp_int * b, mp_int * c, int digs);
146 static int fast_s_mp_mul_digs (mp_int * a, mp_int * b, mp_int * c, int digs);
518 int digs = a->used + b->used + 1;
520 if ((digs < MP_WARRAY) &&
523 res = fast_s_mp_mul_digs (a, b, c, digs);
2338 /* multiplies |a| * |b| and only computes up to digs digits of result
2342 static int s_mp_mul_digs (mp_int * a, mp_int * b, mp_int * c, int digs)
2352 if (((digs) < MP_WARRAY) &&
2355 return fast_s_mp_mul_digs (a, b, c, digs);
2359 if ((res = mp_init_size (&t, digs)) != MP_OKAY) {
2362 t.used = digs;
2370 /* limit ourselves to making digs digits of output */
2371 pb = MIN (b->used, digs - ix);
2396 /* set carry if it is placed below digs */
2397 if (ix + iy < digs) {
2427 static int fast_s_mp_mul_digs (mp_int * a, mp_int * b, mp_int * c, int digs)
2434 if (c->alloc < digs) {
2435 if ((res = mp_grow (c, digs)) != MP_OKAY) {
2441 pa = MIN(digs, a->used + b->used);
2591 /* multiplies |a| * |b| and does not compute the lower digs digits
2594 static int s_mp_mul_high_digs (mp_int * a, mp_int * b, mp_int * c, int digs)
2606 return fast_s_mp_mul_high_digs (a, b, c, digs);
2625 tmpt = &(t.dp[digs]);
2628 tmpy = b->dp + (digs - ix);
2630 for (iy = digs - ix; iy < pb; iy++) {