17 using namespace presburger;
22 std::pair<unsigned, LinearTransform>
33 for (
unsigned row = 0, f = m.
getNumRows(); row < f; ++row) {
34 if (h(row, col) != 0) {
53 const MPInt &c = eq.back();
63 const MPInt &c = ineq.back();
std::pair< IntMatrix, IntMatrix > computeHermiteNormalForm() const
Given the current matrix M, returns the matrices H, U such that H is the column hermite normal form o...
An IntegerRelation represents the set of points from a PresburgerSpace that satisfy a list of affine ...
ArrayRef< MPInt > getEquality(unsigned idx) const
void addInequality(ArrayRef< MPInt > inEq)
Adds an inequality (>= 0) from the coefficients specified in inEq.
void addEquality(ArrayRef< MPInt > eq)
Adds an equality from the coefficients specified in eq.
ArrayRef< MPInt > getInequality(unsigned idx) const
unsigned getNumInequalities() const
const PresburgerSpace & getSpace() const
Returns a reference to the underlying space.
unsigned getNumEqualities() const
This class provides support for multi-precision arithmetic.
unsigned getNumRows() const
unsigned getNumColumns() const
Include the generated interface declarations.