#include "mlir/Analysis/Presburger/QuasiPolynomial.h"
#include "mlir/Analysis/Presburger/Fraction.h"
#include "mlir/Analysis/Presburger/PresburgerSpace.h"
usingnamespacemlir;
usingnamespacepresburger;
QuasiPolynomial::QuasiPolynomial(
unsigned numVars, ArrayRef<Fraction> coeffs,
ArrayRef<std::vector<SmallVector<Fraction>>> aff)
: … { … }
QuasiPolynomial::QuasiPolynomial(unsigned numVars, const Fraction &constant)
: … { … }
QuasiPolynomial QuasiPolynomial::operator+(const QuasiPolynomial &x) const { … }
QuasiPolynomial QuasiPolynomial::operator-(const QuasiPolynomial &x) const { … }
QuasiPolynomial QuasiPolynomial::operator*(const QuasiPolynomial &x) const { … }
QuasiPolynomial QuasiPolynomial::operator/(const Fraction &x) const { … }
QuasiPolynomial QuasiPolynomial::simplify() { … }
QuasiPolynomial QuasiPolynomial::collectTerms() { … }
Fraction QuasiPolynomial::getConstantTerm() { … }