Lines Matching defs:divisor
57 // `dividend' and with respect to the positive constant `divisor'. localExpr
60 void addLocalFloorDivId(ArrayRef<int64_t> dividend, int64_t divisor,
62 SimpleAffineExprFlattener::addLocalFloorDivId(dividend, divisor, localExpr);
64 localVarCst.addLocalFloorDiv(dividend, divisor);
279 // 0 <= var_r <= divisor - 1
280 // var_n - (divisor * q_expr) = var_r
285 // `var_r = var_n mod divisor`.
291 // `var_q = var_n floordiv divisor`.
308 // Check if a divisor satisfying the condition `0 <= var_r <= divisor - 1` can
312 int64_t divisor = ubConst + 1;
329 // not divisible by `(coefficientAtPos * divisor)`. Hope here is that the
351 if (coefficientOfCurVar % (divisor * coefficientAtPos) == 0) {
385 // Express `var_r` as `var_n % divisor` and store the expression in `memo`.
394 // If `var_n` has an upperbound that is less than the divisor, mod can be
396 if (ub && *ub < divisor)
399 memo[pos] = dimExpr % divisor;
401 // `var_n floordiv divisor`.
403 memo[quotientPosition] = dimExpr.floorDiv(divisor) * quotientSign;
412 /// function of other variables (where the divisor is a positive constant)
430 unsigned divisor;
431 auto ulPair = computeSingleVarRepr(cst, foundRepr, pos, dividend, divisor);
444 exprs[pos] = dividendExpr.floorDiv(divisor);
485 // expr ceildiv divisor is (expr + divisor - 1) floordiv divisor
486 int64_t divisor = std::abs(ineq[pos + offset]);
487 expr = (expr + divisor - 1).floorDiv(divisor);
592 // variables (divisor is a positive constant).