18 #ifndef MLIR_ANALYSIS_PRESBURGER_QUASIPOLYNOMIAL_H
19 #define MLIR_ANALYSIS_PRESBURGER_QUASIPOLYNOMIAL_H
25 namespace presburger {
52 const std::vector<std::vector<SmallVector<Fraction>>> &
getAffine()
const {
74 std::vector<std::vector<SmallVector<Fraction>>> affine;
PresburgerSpace is the space of all possible values of a tuple of integer valued variables/variables.
unsigned getNumSymbolVars() const
unsigned getNumDomainVars() const
QuasiPolynomial operator/(const Fraction &x) const
QuasiPolynomial(unsigned numVars, ArrayRef< Fraction > coeffs={}, ArrayRef< std::vector< SmallVector< Fraction >>> aff={})
QuasiPolynomial operator-(const QuasiPolynomial &x) const
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
const SmallVector< Fraction > & getCoefficients() const
Include the generated interface declarations.
A class to represent fractions.