bc: placate gcc (it thinks 's' can be uninitialized here)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
77a51a2709
commit
40f9fe2160
@ -2201,8 +2201,8 @@ static BC_STATUS zbc_num_sqrt(BcNum *a, BcNum *restrict b, size_t scale)
|
|||||||
BcStatus s;
|
BcStatus s;
|
||||||
BcNum num1, num2, half, f, fprime, *x0, *x1, *temp;
|
BcNum num1, num2, half, f, fprime, *x0, *x1, *temp;
|
||||||
BcDig half_digs[1];
|
BcDig half_digs[1];
|
||||||
size_t pow, len, digs, digs1, resrdx, req, times = 0;
|
size_t pow, len, digs, digs1, resrdx, req, times;
|
||||||
ssize_t cmp = 1, cmp1 = SSIZE_MAX, cmp2 = SSIZE_MAX;
|
ssize_t cmp, cmp1, cmp2;
|
||||||
|
|
||||||
req = BC_MAX(scale, a->rdx) + ((BC_NUM_INT(a) + 1) >> 1) + 1;
|
req = BC_MAX(scale, a->rdx) + ((BC_NUM_INT(a) + 1) >> 1) + 1;
|
||||||
bc_num_expand(b, req);
|
bc_num_expand(b, req);
|
||||||
@ -2255,11 +2255,12 @@ static BC_STATUS zbc_num_sqrt(BcNum *a, BcNum *restrict b, size_t scale)
|
|||||||
x0->rdx -= pow;
|
x0->rdx -= pow;
|
||||||
}
|
}
|
||||||
|
|
||||||
x0->rdx = digs = digs1 = 0;
|
x0->rdx = digs = digs1 = times = 0;
|
||||||
resrdx = scale + 2;
|
resrdx = scale + 2;
|
||||||
len = BC_NUM_INT(x0) + resrdx - 1;
|
len = x0->len + resrdx - 1;
|
||||||
|
cmp = 1;
|
||||||
while (cmp != 0 || digs < len) {
|
cmp1 = cmp2 = SSIZE_MAX;
|
||||||
|
do {
|
||||||
s = zbc_num_div(a, x0, &f, resrdx);
|
s = zbc_num_div(a, x0, &f, resrdx);
|
||||||
if (s) goto err;
|
if (s) goto err;
|
||||||
s = zbc_num_add(x0, &f, &fprime, resrdx);
|
s = zbc_num_add(x0, &f, &fprime, resrdx);
|
||||||
@ -2284,11 +2285,12 @@ static BC_STATUS zbc_num_sqrt(BcNum *a, BcNum *restrict b, size_t scale)
|
|||||||
temp = x0;
|
temp = x0;
|
||||||
x0 = x1;
|
x0 = x1;
|
||||||
x1 = temp;
|
x1 = temp;
|
||||||
}
|
} while (cmp != 0 || digs < len);
|
||||||
|
|
||||||
bc_num_copy(b, x0);
|
bc_num_copy(b, x0);
|
||||||
scale -= 1;
|
scale -= 1;
|
||||||
if (b->rdx > scale) bc_num_truncate(b, b->rdx - scale);
|
if (b->rdx > scale)
|
||||||
|
bc_num_truncate(b, b->rdx - scale);
|
||||||
err:
|
err:
|
||||||
bc_num_free(&fprime);
|
bc_num_free(&fprime);
|
||||||
bc_num_free(&f);
|
bc_num_free(&f);
|
||||||
|
Loading…
Reference in New Issue
Block a user