MLIR  20.0.0git
Namespaces | Functions
Matrix.cpp File Reference
#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

 mlir
 Include the generated interface declarations.
 
 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. More...
 

Function Documentation

◆ modEntryColumnOperation()

static void modEntryColumnOperation ( Matrix< DynamicAPInt > &  m,
unsigned  row,
unsigned  sourceCol,
unsigned  targetCol,
Matrix< DynamicAPInt > &  otherMatrix 
)
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 373 of file Matrix.cpp.

Referenced by mlir::presburger::IntMatrix::computeHermiteNormalForm().