bc: rewrite bc_num_compare() to be readable
function old new delta bc_num_compare 59 51 -8 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
57734c926b
commit
4113e1f2cd
@ -1475,10 +1475,20 @@ static void bc_num_subArrays(BcDig *restrict a, BcDig *restrict b,
|
|||||||
|
|
||||||
static ssize_t bc_num_compare(BcDig *restrict a, BcDig *restrict b, size_t len)
|
static ssize_t bc_num_compare(BcDig *restrict a, BcDig *restrict b, size_t len)
|
||||||
{
|
{
|
||||||
size_t i;
|
size_t i = len;
|
||||||
int c = 0;
|
for (;;) {
|
||||||
for (i = len - 1; i < len && !(c = a[i] - b[i]); --i);
|
int c;
|
||||||
return BC_NUM_NEG(i + 1, c < 0);
|
if (i == 0)
|
||||||
|
return 0;
|
||||||
|
i--;
|
||||||
|
c = a[i] - b[i];
|
||||||
|
if (c != 0) {
|
||||||
|
i++;
|
||||||
|
if (c < 0)
|
||||||
|
return -i;
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static ssize_t bc_num_cmp(BcNum *a, BcNum *b)
|
static ssize_t bc_num_cmp(BcNum *a, BcNum *b)
|
||||||
|
Loading…
Reference in New Issue
Block a user