bc: make 2^1000000 interruptible faster

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2018-12-05 01:21:59 +01:00
parent 68cc0a676e
commit f359e004b0

View File

@ -2039,6 +2039,11 @@ static BcStatus bc_num_p(BcNum *a, BcNum *b, BcNum *restrict c, size_t scale)
powrdx <<= 1;
s = bc_num_mul(&copy, &copy, &copy, powrdx);
if (s) goto err;
// It is too slow to handle ^C only after entire "2^1000000" completes
if (G_interrupt) {
s = BC_STATUS_FAILURE;
goto err;
}
}
bc_num_copy(c, &copy);
@ -2054,6 +2059,11 @@ static BcStatus bc_num_p(BcNum *a, BcNum *b, BcNum *restrict c, size_t scale)
s = bc_num_mul(c, &copy, c, resrdx);
if (s) goto err;
}
// It is too slow to handle ^C only after entire "2^1000000" completes
if (G_interrupt) {
s = BC_STATUS_FAILURE;
goto err;
}
}
if (neg) {