18#ifndef MLIR_ANALYSIS_PRESBURGER_QUASIPOLYNOMIAL_H
19#define MLIR_ANALYSIS_PRESBURGER_QUASIPOLYNOMIAL_H
52 const std::vector<std::vector<SmallVector<Fraction>>> &
getAffine()
const {
74 std::vector<std::vector<SmallVector<Fraction>>>
affine;
unsigned getNumSymbolVars() const
PresburgerSpace(unsigned numDomain, unsigned numRange, unsigned numSymbols, unsigned numLocals)
unsigned getNumDomainVars() const
QuasiPolynomial operator/(const Fraction &x) const
QuasiPolynomial operator-(const QuasiPolynomial &x) const
const SmallVector< Fraction > & getCoefficients() const
QuasiPolynomial(unsigned numVars, ArrayRef< Fraction > coeffs={}, ArrayRef< std::vector< SmallVector< Fraction > > > aff={})
Fraction getConstantTerm()
QuasiPolynomial operator+(const QuasiPolynomial &x) const
QuasiPolynomial simplify()
QuasiPolynomial collectTerms()
const std::vector< std::vector< SmallVector< Fraction > > > & getAffine() const
QuasiPolynomial operator*(const QuasiPolynomial &x) const
unsigned getNumInputs() const
Include the generated interface declarations.
A class to represent fractions.