Lines Matching refs:Fraction
216 MaybeOptimum<SmallVector<Fraction, 8>> LexSimplex::findRationalLexMin() { in findRationalLexMin()
310 MaybeOptimum<SmallVector<Fraction, 8>> sample = getRationalSample(); in findIntegerLexMin()
315 llvm::map_range(*sample, std::mem_fn(&Fraction::getAsInteger))); in findIntegerLexMin()
809 const Unknown &u) -> Fraction { in getLexMinPivotColumn()
830 Fraction changeA = getSampleChangeCoeffForVar(colA, u); in getLexMinPivotColumn()
831 Fraction changeB = getSampleChangeCoeffForVar(colB, u); in getLexMinPivotColumn()
1311 MaybeOptimum<Fraction> Simplex::computeRowOptimum(Direction direction, in computeRowOptimum()
1325 return Fraction(tableau(row, 1), tableau(row, 0)); in computeRowOptimum()
1330 MaybeOptimum<Fraction> Simplex::computeOptimum(Direction direction, in computeOptimum()
1341 MaybeOptimum<Fraction> Simplex::computeOptimum(Direction direction, in computeOptimum()
1356 MaybeOptimum<Fraction> optimum = computeRowOptimum(direction, row); in computeOptimum()
1358 (optimum.isUnbounded() || *optimum < Fraction(0, 1))) { in computeOptimum()
1423 MaybeOptimum<Fraction> minimum = computeRowOptimum(Direction::Down, row); in detectRedundant()
1424 if (minimum.isUnbounded() || *minimum < Fraction(0, 1)) { in detectRedundant()
1536 Optional<SmallVector<Fraction, 8>> Simplex::getRationalSample() const { in getRationalSample()
1540 SmallVector<Fraction, 8> sample; in getRationalSample()
1561 MaybeOptimum<SmallVector<Fraction, 8>> LexSimplex::getRationalSample() const { in getRationalSample()
1565 SmallVector<Fraction, 8> sample; in getRationalSample()
1597 SmallVector<Fraction, 8> rationalSample = *getRationalSample(); in getSamplePointIfIntegral()
1600 for (const Fraction &coord : rationalSample) { in getSamplePointIfIntegral()
1637 Fraction computeWidth(ArrayRef<int64_t> dir) { in computeWidth()
1638 MaybeOptimum<Fraction> maybeWidth = in computeWidth()
1646 Fraction computeWidthAndDuals(ArrayRef<int64_t> dir, in computeWidthAndDuals()
1658 MaybeOptimum<Fraction> maybeWidth = in computeWidthAndDuals()
1791 const Fraction epsilon(3, 4); in reduceBasis()
1797 SmallVector<Fraction, 8> width; in reduceBasis()
1819 auto updateBasisWithUAndGetFCandidate = [&](unsigned i) -> Fraction { in reduceBasis()
1827 Fraction widthI[2]; in reduceBasis()
1905 Fraction widthICandidate = updateBasisWithUAndGetFCandidate(i); in reduceBasis()
2145 MaybeOptimum<Fraction> minimum = computeOptimum(Direction::Down, coeffs); in findIneqType()
2146 if (minimum.isBounded() && *minimum >= Fraction(0, 1)) { in findIneqType()
2149 MaybeOptimum<Fraction> maximum = computeOptimum(Direction::Up, coeffs); in findIneqType()
2150 if ((!minimum.isBounded() || *minimum <= Fraction(0, 1)) && in findIneqType()
2151 (!maximum.isBounded() || *maximum >= Fraction(0, 1))) { in findIneqType()
2172 MaybeOptimum<Fraction> minimum = computeOptimum(Direction::Down, coeffs); in isRedundantEquality()
2173 MaybeOptimum<Fraction> maximum = computeOptimum(Direction::Up, coeffs); in isRedundantEquality()
2177 *maximum == Fraction(0, 1) && *minimum == Fraction(0, 1); in isRedundantEquality()