|
MLIR 23.0.0git
|
#include "mlir/Analysis/Presburger/Matrix.h"#include "mlir/Analysis/Presburger/Fraction.h"#include "mlir/Analysis/Presburger/Utils.h"#include "llvm/Support/MathExtras.h"#include "llvm/Support/raw_ostream.h"#include <algorithm>#include <cassert>#include <utility>Go to the source code of this file.
Namespaces | |
| namespace | mlir |
| Include the generated interface declarations. | |
| namespace | mlir::presburger |
Functions | |
| static void | modEntryColumnOperation (Matrix< DynamicAPInt > &m, unsigned row, unsigned sourceCol, unsigned targetCol, Matrix< DynamicAPInt > &otherMatrix) |
| Set M(row, targetCol) to its remainder on division by M(row, sourceCol) by subtracting from column targetCol an appropriate integer multiple of sourceCol. | |
| static std::optional< std::pair< unsigned, unsigned > > | findNonZeroMinInSubmatrix (const IntMatrix &mat, unsigned from) |
| static std::optional< unsigned > | findNonMultipleRow (const IntMatrix &mat, unsigned from, const DynamicAPInt &divisor) |
|
static |
Definition at line 587 of file Matrix.cpp.
References mlir::presburger::Matrix< T >::getNumColumns(), and mlir::presburger::Matrix< T >::getNumRows().
Referenced by mlir::presburger::IntMatrix::computeSmithNormalForm().
|
static |
Definition at line 560 of file Matrix.cpp.
References mlir::presburger::Matrix< T >::getNumColumns(), and mlir::presburger::Matrix< T >::getNumRows().
Referenced by mlir::presburger::IntMatrix::computeSmithNormalForm().
|
static |
Set M(row, targetCol) to its remainder on division by M(row, sourceCol) by subtracting from column targetCol an appropriate integer multiple of sourceCol.
This brings M(row, targetCol) to the range [0, M(row, sourceCol)). Apply the same column operation to otherMatrix, with the same integer multiple.
Definition at line 380 of file Matrix.cpp.
References mlir::presburger::Matrix< T >::addToColumn().
Referenced by mlir::presburger::IntMatrix::computeHermiteNormalForm().