DIGIT_BIT
norm = mp_count_bits(&y) % DIGIT_BIT;
if (norm < (int)(DIGIT_BIT-1)) {
norm = (DIGIT_BIT-1) - norm;
q.dp[i - t - 1] = ((((mp_digit)1) << DIGIT_BIT) - 1);
tmp = ((mp_word) x.dp[i]) << ((mp_word) DIGIT_BIT);
*tmpb-- = (*tmpa-- >> 1) | (r << (DIGIT_BIT - 1));
if ((res = mp_grow(a, b / DIGIT_BIT + 1)) != MP_OKAY) {
a->used = b / DIGIT_BIT + 1;
a->dp[b / DIGIT_BIT] = ((mp_digit)1) << (b % DIGIT_BIT);
if ((res = mp_2expt(a, b->used * 2 * DIGIT_BIT)) != MP_OKAY) {
rr = *tmpa >> ((mp_digit)(DIGIT_BIT - 1));
b = (((mp_word)1) << ((mp_word)DIGIT_BIT)) / ((mp_word)3);
w = (w << ((mp_word)DIGIT_BIT)) | ((mp_word)a->dp[ix]);
t = (w * ((mp_word)b)) >> ((mp_word)DIGIT_BIT);
if ((res = modulo_2_to_power(a, DIGIT_BIT * B, &a0)) != MP_OKAY) {
modulo_2_to_power(&a1, DIGIT_BIT * B, &a1);
if ((res = modulo_2_to_power(b, DIGIT_BIT * B, &b0)) != MP_OKAY) {
modulo_2_to_power(&b1, DIGIT_BIT * B, &b1);
_W = _W >> ((mp_word)DIGIT_BIT);
used < (1 << (unsigned)((CHAR_BIT * sizeof(mp_word)) - (2 * DIGIT_BIT))));
u = (mp_digit) (r >> ((mp_word) DIGIT_BIT));
_W = _W >> ((mp_word)DIGIT_BIT);
carry = (mp_digit) (r >> ((mp_word) DIGIT_BIT));
if (((unsigned long) um) > (((mp_digit)1) << (DIGIT_BIT - 1))) {
if ((res = modulo_2_to_power(x, DIGIT_BIT * (um + 1), x)) != MP_OKAY) {
if (c->alloc < (int)(c->used + b/DIGIT_BIT + 1)) {
if ((res = mp_grow(c, c->used + b / DIGIT_BIT + 1)) != MP_OKAY) {
if (b >= (int)DIGIT_BIT) {
if ((res = lshift_digits(c, b / DIGIT_BIT)) != MP_OKAY) {
if ((res = modulo_2_to_power(a, DIGIT_BIT * B, &a0)) != MP_OKAY) {
modulo_2_to_power(&a1, DIGIT_BIT * B, &a1);
d = (mp_digit) (b % DIGIT_BIT);
shift = DIGIT_BIT - d;
W1 = _W >> ((mp_word)DIGIT_BIT);
carry = (mp_digit)(r >> ((mp_word) DIGIT_BIT));
carry = (mp_digit)(r >> ((mp_word) DIGIT_BIT));
carry = (mp_digit)(r >> ((mp_word) DIGIT_BIT));
bitcnt = (int) DIGIT_BIT;
y = (unsigned)(buf >> (mp_digit)(DIGIT_BIT - 1)) & 1;
for (ix = DIGIT_BIT; ix < iy; ix++) {
r = (a->used - 1) * DIGIT_BIT;
*rho = (unsigned long)(((mp_word)1 << ((mp_word) DIGIT_BIT)) - x) & MP_MASK;
W[ix + 1] += W[ix] >> ((mp_word) DIGIT_BIT);
*_W++ += *_W1++ >> ((mp_word) DIGIT_BIT);
carry = (mp_digit)(r >> ((mp_word) DIGIT_BIT));
carry = *tmpx >> DIGIT_BIT;
*d = (mp_digit)((((mp_word)1) << ((mp_word)DIGIT_BIT)) -
mu = (mp_digit)(r >> ((mp_word)DIGIT_BIT));
bits = mp_count_bits(b) % DIGIT_BIT;
if ((res = mp_2expt(a, (b->used - 1) * DIGIT_BIT + bits - 1)) != MP_OKAY) {
for (x = bits - 1; x < (int)DIGIT_BIT; x++) {
bitcnt = (int)DIGIT_BIT;
y = (int)(mp_digit)((mp_digit)buf >> (unsigned)(DIGIT_BIT - 1)) & 1;
for (x = 0; x < DIGIT_BIT; x++) {
w = (w << ((mp_word)DIGIT_BIT)) | ((mp_word)a->dp[ix]);
mu = *tmpc >> DIGIT_BIT;
mu = *tmpc >> DIGIT_BIT;
x *= DIGIT_BIT;
mp_init_size(rnd, digits = howmany(bits, DIGIT_BIT));
rnd->dp[rnd->used - 1] |= (((mp_digit)1)<<((mp_digit)DIGIT_BIT));
rnd->dp[rnd->used - 1] |= (((mp_digit)1)<<((mp_digit)DIGIT_BIT));
rnd->dp[rnd->used - 1] |= (((mp_digit)1)<<((mp_digit)(DIGIT_BIT - 1)));
if (a == NULL || n < 0 || n >= a->used * DIGIT_BIT) {
return (a->dp[n / DIGIT_BIT] & (1 << (n % DIGIT_BIT))) ? 1 : 0;
carry = *tmpc >> ((mp_digit)DIGIT_BIT);
carry = *tmpc >> ((mp_digit)DIGIT_BIT);
#define MP_MASK ((((mp_digit)1)<<((mp_digit)DIGIT_BIT))-((mp_digit)1))
#define MP_WARRAY /*LINTED*/(1U << (((sizeof(mp_word) * CHAR_BIT) - (2 * DIGIT_BIT) + 1)))
carry = (mp_digit) (r >> ((mp_word) DIGIT_BIT));
if (b >= (int) (a->used * DIGIT_BIT)) {
for (x = (b / DIGIT_BIT) + ((b % DIGIT_BIT) == 0 ? 0 : 1); x < c->used; x++) {
c->dp[b / DIGIT_BIT] &=
(mp_digit) ((((mp_digit) 1) << (((mp_digit) b) % DIGIT_BIT)) - ((mp_digit) 1));
if (b >= (int)DIGIT_BIT) {
rshift_digits(c, b / DIGIT_BIT);
D = (mp_digit) (b % DIGIT_BIT);
shift = DIGIT_BIT - D;