12 Matrix *a=NULL, *b=NULL, *c, *d, *e, *f;
14 int i, nbPol, nbMat, func;
19 ((sscanf(
s,
"D %d", &nbPol)<1) && (sscanf(
s,
"M %d", &nbMat)<1)) )
22 for (i=0, A=last=(
Polyhedron *)0; i<nbPol; i++) {
26 if (!last) A = last = tmp;
39 ((sscanf(
s,
"D %d", &nbPol)<1) && (sscanf(
s,
"M %d", &nbMat)<1)) )
42 for (i=0, B=last=(
Polyhedron *)0; i<nbPol; i++) {
46 if (!last) B = last = tmp;
57 while ((*
s==
'#') || (sscanf(
s,
"F %d", &func)<1))
142 i==-1 ?
"A<B" : i==1 ?
"A>B" : i==0 ?
"A><B" :
"error");
145 i==-1 ?
"A<B" : i==1 ?
"A>B" : i==0 ?
"A><B" :
"error");
153 printf(
"? unknown function\n");
int PolyhedronLTQ(Polyhedron *Pol1, Polyhedron *Pol2, int INDEX, int PDIM, int NbMaxConstrs)
int Polyhedron_Not_Empty(Polyhedron *P, Polyhedron *C, int MAXRAYS)
int GaussSimplify(Matrix *Mat1, Matrix *Mat2)
void Matrix_Product(Matrix *Mat1, Matrix *Mat2, Matrix *Mat3)
Matrix * Matrix_Alloc(unsigned NbRows, unsigned NbColumns)
void right_hermite(Matrix *A, Matrix **Hp, Matrix **Up, Matrix **Qp)
Matrix * Matrix_Read(void)
void Matrix_Print(FILE *Dst, const char *Format, Matrix *Mat)
void left_hermite(Matrix *A, Matrix **Hp, Matrix **Qp, Matrix **Up)
void Matrix_Free(Matrix *Mat)
Polyhedron * Polyhedron_Image(Polyhedron *Pol, Matrix *Func, unsigned NbMaxConstrs)
Polyhedron * DomainConvex(Polyhedron *Pol, unsigned NbMaxConstrs)
Polyhedron * DomainSimplify(Polyhedron *Pol1, Polyhedron *Pol2, unsigned NbMaxRays)
Polyhedron * DomainUnion(Polyhedron *Pol1, Polyhedron *Pol2, unsigned NbMaxRays)
Matrix * Polyhedron2Constraints(Polyhedron *Pol)
Polyhedron * Constraints2Polyhedron(Matrix *Constraints, unsigned NbMaxRays)
Given a matrix of constraints ('Constraints'), construct and return a polyhedron.
void Polyhedron_Print(FILE *Dst, const char *Format, const Polyhedron *Pol)
void Domain_Free(Polyhedron *Pol)
Matrix * Polyhedron2Rays(Polyhedron *Pol)
Given a polyhedron 'Pol', return a matrix of rays.