Home | History | Annotate | Download | only in bn

Lines Matching full:divisor

172 /* BN_div[_no_branch] computes  dv := num / divisor,  rounding towards
173 * zero, and sets up rm such that dv*divisor + rm = num holds.
175 * dv->neg == num->neg ^ divisor->neg (unless the result is zero)
180 const BIGNUM *divisor, BN_CTX *ctx);
181 int BN_div(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num, const BIGNUM *divisor,
201 if ((BN_get_flags(num, BN_FLG_CONSTTIME) != 0) || (BN_get_flags(divisor, BN_FLG_CONSTTIME) != 0))
203 return BN_div_no_branch(dv, rm, num, divisor, ctx);
209 bn_check_top(divisor);
211 if (BN_is_zero(divisor))
217 if (BN_ucmp(num,divisor) < 0)
236 norm_shift=BN_BITS2-((BN_num_bits(divisor))%BN_BITS2);
237 if (!(BN_lshift(sdiv,divisor,norm_shift))) goto err;
263 res->neg= (num->neg^divisor->neg);
427 const BIGNUM *divisor, BN_CTX *ctx)
438 bn_check_top(divisor);
440 if (BN_is_zero(divisor))
456 norm_shift=BN_BITS2-((BN_num_bits(divisor))%BN_BITS2);
457 if (!(BN_lshift(sdiv,divisor,norm_shift))) goto err;
501 res->neg= (num->neg^divisor->neg);