MLIR
18.0.0git
|
#include "mlir/Analysis/Presburger/LinearTransform.h"
Public Member Functions | |
LinearTransform (IntMatrix &&oMatrix) | |
LinearTransform (const IntMatrix &oMatrix) | |
IntegerRelation | applyTo (const IntegerRelation &rel) const |
SmallVector< MPInt, 8 > | preMultiplyWithRow (ArrayRef< MPInt > rowVec) const |
SmallVector< MPInt, 8 > | postMultiplyWithColumn (ArrayRef< MPInt > colVec) const |
Static Public Member Functions | |
static std::pair< unsigned, LinearTransform > | makeTransformToColumnEchelon (const IntMatrix &m) |
Definition at line 23 of file LinearTransform.h.
|
explicit |
Definition at line 19 of file LinearTransform.cpp.
Referenced by makeTransformToColumnEchelon().
|
explicit |
Definition at line 20 of file LinearTransform.cpp.
IntegerRelation LinearTransform::applyTo | ( | const IntegerRelation & | rel | ) | const |
Definition at line 47 of file LinearTransform.cpp.
References mlir::presburger::IntegerRelation::addEquality(), mlir::presburger::IntegerRelation::addInequality(), mlir::presburger::IntegerRelation::getEquality(), mlir::presburger::IntegerRelation::getInequality(), mlir::presburger::IntegerRelation::getNumEqualities(), mlir::presburger::IntegerRelation::getNumInequalities(), mlir::presburger::IntegerRelation::getSpace(), and preMultiplyWithRow().
Referenced by mlir::presburger::IntegerRelation::findIntegerSample().
|
static |
Definition at line 23 of file LinearTransform.cpp.
References mlir::presburger::IntMatrix::computeHermiteNormalForm(), mlir::presburger::Matrix< T >::getNumColumns(), mlir::presburger::Matrix< T >::getNumRows(), and LinearTransform().
Referenced by mlir::presburger::IntegerRelation::findIntegerSample().
|
inline |
Definition at line 49 of file LinearTransform.h.
References mlir::presburger::Matrix< T >::postMultiplyWithColumn().
Referenced by mlir::presburger::IntegerRelation::findIntegerSample().
|
inline |
Definition at line 43 of file LinearTransform.h.
References mlir::presburger::Matrix< T >::preMultiplyWithRow().
Referenced by applyTo().