Home | History | Annotate | Download | only in core

Lines Matching full:denom

77 int32_t SkMulDiv(int32_t numer1, int32_t numer2, int32_t denom) {
78 SkASSERT(denom);
82 tmp.div(denom, Sk64::kTrunc_DivOption);
263 if ((numer = (numer << 1) - denom) >= 0) \
264 result |= 1 << (n - 1); else numer += denom
266 int32_t SkDivBits(int32_t numer, int32_t denom, int shift_bias) {
267 SkASSERT(denom != 0);
272 // make numer and denom positive, and sign hold the resulting sign
273 int32_t sign = SkExtractSign(numer ^ denom);
275 denom = SkAbs32(denom);
278 int dbits = SkCLZ(denom) - 1;
288 denom <<= dbits;
294 if ((numer -= denom) >= 0) {
297 numer += denom;
327 /* mod(float numer, float denom) seems to always return the sign
330 SkFixed SkFixedMod(SkFixed numer, SkFixed denom) {
332 int sd = SkExtractSign(denom);
335 denom = SkApplySign(denom, sd);
337 if (numer < denom) {
339 } else if (numer == denom) {
342 SkFixed div = SkFixedDiv(numer, denom);
343 return SkApplySign(SkFixedMul(denom, div & 0xFFFF), sn);