7#ifndef __BM_COMPRESS_PARMS_H__
8#define __BM_COMPRESS_PARMS_H__
47 unsigned int **elimVars,
48 unsigned int **elimParms,
int maxRays);
51#define Constraints_removeParmEqs(a, b, c, d) \
52 Constraints_Remove_parm_eqs(a, b, c, d)
54 unsigned int **elimParms);
60 unsigned int *elimParms,
Matrix **newM);
75 unsigned int **elimParms,
int maxRays);
76#define Polyhedron_removeParmEqs(a, b, c, d, e) \
77 Polyhedron_Remove_parm_eqs(a, b, c, d, e)
91 Matrix **Validity_Lattice);
void Equalities_intModBasis(Matrix *B, Matrix *C, Matrix *d, Matrix **imb)
Given an integer matrix B with m rows and integer m-vectors C and d, computes the basis of the intege...
Matrix * int_mod_basis(Matrix *Bp, Matrix *Cp, Matrix *d)
kept here for backwards compatiblity.
void Constraints_fullDimensionize(Matrix **M, Matrix **C, Matrix **VL, Matrix **Eqs, Matrix **ParmEqs, unsigned int **elimVars, unsigned int **elimParms, int maxRays)
Eliminates all the equalities in a set of constraints and returns the set of constraints defining a f...
void Constraints_removeElimCols(Matrix *M, unsigned int nbVars, unsigned int *elimParms, Matrix **newM)
Eliminates the columns corresponding to a list of eliminated parameters.
Matrix * compress_parms(Matrix *E, int nb_parms)
Given a parameterized constraints matrix with m equalities, computes the compression matrix G such th...
Matrix * affine_periods(Matrix *M, Matrix *d)
Computes the overall period of the variables I for (MI) mod |d|, where M is a matrix and |d| a vector...
void Equalities_integerSolution(Matrix *Eqs, Matrix **sol)
Given a system of non-redundant equalities, looks if it has an integer solution in the combined space...
void Lattice_extractSubLattice(Matrix *lat, unsigned int k, Matrix **subLat)
Given a matrix that defines a full-dimensional affine lattice, returns the affine sub-lattice spanned...
Matrix * full_dimensionize(Matrix const *M, int nb_parms, Matrix **Validity_Lattice)
Given a matrix with m parameterized equations, compress the nb_parms parameters and n-m variables so ...
Matrix * int_ker(Matrix *M)
given a full-row-rank nxm matrix M(made of row-vectors), computes the basis K (made of n-m column-vec...
Matrix * Constraints_Remove_parm_eqs(Matrix **M, Matrix **Ctxt, int renderSpace, unsigned int **elimParms)
Removes the equalities that involve only parameters, by eliminating some parameters in the polyhedron...
void Equalities_validityLattice(Matrix *Eqs, int a, Matrix **vl)
Computes the validity lattice of a set of equalities.
Polyhedron * Polyhedron_Remove_parm_eqs(Polyhedron **P, Polyhedron **C, int renderSpace, unsigned int **elimParms, int maxRays)
Removes equalities involving only parameters, but starting from a Polyhedron and its context.