#include <stdlib.h>
#include <polylib/polylib.h>
Go to the source code of this file.
Functions | |
void | Lcm3 (Value a, Value b, Value *c) |
Value * | Lcm (Value i, Value j) |
Matrix * | Identity (unsigned size) |
void | ExchangeRows (Matrix *M, int Row1, int Row2) |
void | ExchangeColumns (Matrix *M, int Column1, int Column2) |
Matrix * | Transpose (Matrix *A) |
Matrix * | Matrix_Copy (Matrix const *Src) |
Bool | isIntegral (Matrix *A) |
Bool | isinHnf (Matrix *A) |
void | PutRowLast (Matrix *X, int Rownumber) |
void | PutRowFirst (Matrix *X, int Rownumber) |
void | PutColumnFirst (Matrix *X, int Columnnumber) |
void | PutColumnLast (Matrix *X, int Columnnumber) |
Matrix * | AddANullRow (Matrix *M) |
Matrix * | AddANullColumn (Matrix *M) |
Matrix * | RemoveRow (Matrix *M, int Rownumber) |
Matrix * | RemoveNColumns (Matrix *M, int FirstColumnnumber, int NumColumns) |
Matrix * | RemoveColumn (Matrix *M, int Columnnumber) |
int | findHermiteBasis (Matrix *M, Matrix **Result) |
Definition at line 286 of file Matop.c.
References Matrix_Alloc(), matrix::NbColumns, matrix::NbRows, matrix::p, value_assign, and value_set_si.
Referenced by findHermiteBasis(), homogenize(), and main().
Definition at line 268 of file Matop.c.
References Matrix_Alloc(), matrix::NbColumns, matrix::NbRows, matrix::p, value_assign, and value_set_si.
Referenced by findHermiteBasis(), and RearrangeMatforSolveDio().
void ExchangeColumns | ( | Matrix * | M, | |
int | Column1, | |||
int | Column2 | |||
) |
Definition at line 90 of file Matop.c.
References matrix::NbRows, matrix::p, and value_swap.
void ExchangeRows | ( | Matrix * | M, | |
int | Row1, | |||
int | Row2 | |||
) |
Definition at line 72 of file Matop.c.
References matrix::NbColumns, matrix::p, value_assign, value_clear, and value_init.
Referenced by Constraints2Polyhedron(), and RearrangeMatforSolveDio().
Definition at line 361 of file Matop.c.
References AddANullColumn(), AddANullRow(), Hermite(), Identity(), Matrix_Alloc(), Matrix_Copy(), Matrix_Free(), matrix::NbColumns, matrix::NbRows, matrix::p, RemoveRow(), SolveDiophantine(), Transpose(), value_assign, value_notzero_p, value_zero_p, and Vector_Free().
Referenced by FindHermiteBasisofDomain().
Matrix* Identity | ( | unsigned | size | ) |
Definition at line 58 of file Matop.c.
References Matrix_Alloc(), matrix::p, and value_set_si.
Referenced by CanonicalForm(), findHermiteBasis(), FindHermiteBasisofDomain(), IntegraliseLattice(), and Smith().
Definition at line 157 of file Matop.c.
References False, Homogenise(), Matrix_Free(), matrix::NbColumns, matrix::NbRows, matrix::p, True, value_assign, value_clear, value_ge, value_init, and value_notzero_p.
Referenced by LatticeDifference(), LatticeIntersection(), and SplitZpolyhedron().
Definition at line 134 of file Matop.c.
References False, matrix::NbColumns, matrix::NbRows, matrix::p, True, value_assign, value_clear, value_init, value_modulus, and value_notzero_p.
Value* Lcm | ( | Value | i, | |
Value | j | |||
) |
Definition at line 45 of file Matop.c.
References Lcm3(), and value_init.
void Lcm3 | ( | Value | a, | |
Value | b, | |||
Value * | c | |||
) |
Definition at line 22 of file Matop.c.
References Gcd(), value_absolute, value_assign, value_clear, value_division, value_init, value_multiply, and value_zero_p.
Referenced by Lcm().
Definition at line 118 of file Matop.c.
References Matrix_Alloc(), matrix::NbColumns, matrix::NbRows, matrix::p, and value_assign.
Referenced by AddLattice(), AffineHermite(), AffineSmith(), CanonicalForm(), Constraints_EhrhartQuickApx(), eliminable_vars(), findHermiteBasis(), FindHermiteBasisofDomain(), Hermite(), Homogenise(), Lattice2LatticeUnion(), Lattice_extractSubLattice(), LatticeDifference(), LatticeImage(), LatticeIntersection(), LexSmaller(), main(), mtransformation_inverse(), Polyhedron_Image(), Polyhedron_Image_Enumerate(), RearrangeMatforSolveDio(), Simplify(), Smith(), SolveDiophantine(), SplitZpolyhedron(), test_Constraints_fullDimensionize(), test_Constraints_Remove_parm_eqs(), test_Polyhedron_Remove_parm_eqs(), ZDomainSimplify(), and ZPolyhedron_Alloc().
void PutColumnFirst | ( | Matrix * | X, | |
int | Columnnumber | |||
) |
Definition at line 230 of file Matop.c.
References matrix::NbRows, matrix::p, value_assign, value_clear, and value_init.
Referenced by Homogenise().
void PutColumnLast | ( | Matrix * | X, | |
int | Columnnumber | |||
) |
Definition at line 249 of file Matop.c.
References matrix::NbColumns, matrix::NbRows, matrix::p, value_assign, value_clear, and value_init.
Referenced by Homogenise().
void PutRowFirst | ( | Matrix * | X, | |
int | Rownumber | |||
) |
Definition at line 210 of file Matop.c.
References matrix::NbColumns, matrix::p, value_assign, value_clear, and value_init.
Referenced by Homogenise().
void PutRowLast | ( | Matrix * | X, | |
int | Rownumber | |||
) |
Definition at line 188 of file Matop.c.
References matrix::NbColumns, matrix::NbRows, matrix::p, value_assign, value_clear, and value_init.
Referenced by Homogenise().
Definition at line 340 of file Matop.c.
References Matrix_Alloc(), matrix::NbColumns, matrix::NbRows, matrix::p, and Vector_Copy().
Referenced by FindHermiteBasisofDomain().
Definition at line 322 of file Matop.c.
References Matrix_Alloc(), matrix::NbColumns, matrix::NbRows, matrix::p, and Vector_Copy().
Definition at line 303 of file Matop.c.
References Matrix_Alloc(), matrix::NbColumns, matrix::NbRows, matrix::p, and Vector_Copy().
Referenced by findHermiteBasis().
Definition at line 103 of file Matop.c.
References Matrix_Alloc(), matrix::NbColumns, matrix::NbRows, matrix::p, transpose(), and value_assign.
Referenced by findHermiteBasis(), Hermite(), and Polyhedron_Image_Enumerate().