37 if (ep->
x.p->pos == nb_param) {
38 if (ep->
x.p->type ==
periodic && ep->
x.p->size > 1) {
44 memcpy(ep, w,
sizeof(
evalue));
59 for (i = 0; i < p->
size; i++) {
87 Value num, den, gcd, f1, f2;
99 for (i = 0; i < en->
size; i++) {
101 if (en->
arr[i].
x.p->size > 1)
102 ev = &en->
arr[i].
x.p->arr[1];
104 ev = &en->
arr[i].
x.p->arr[0];
146 for (i = 0; i < constr->
NbRows; i++) {
161 for (en2 = en; en2; en2 = en2->
next) {
Matrix * AddANullColumn(Matrix *M)
#define value_notzero_p(val)
#define value_divexact(ref, val1, val2)
#define value_gcd(ref, val1, val2)
#define value_zero_p(val)
#define value_assign(v1, v2)
#define value_set_si(val, i)
#define value_multiply(ref, val1, val2)
#define value_addto(ref, val1, val2)
void free_evalue_refs(evalue *e)
releases all memory referenced by e.
void dehomogenize_enumeration(Enumeration *en, int nb_params, int maxRays)
dehomogenize an enumeration.
Polyhedron * homogenize(Polyhedron *P, unsigned MAXRAYS)
homogenization.h – Bavo Nootaert
void dehomogenize_evalue(evalue *ep, int nb_param)
dehomogenize an evalue.
static evalue * dehomogenize_polynomial(enode *en)
dehomogenize a polynomial.
Polyhedron * dehomogenize_polyhedron(Polyhedron *p, int maxRays)
dehomogenize a polyhedron.
static evalue * dehomogenize_periodic(enode *en)
homogenization.c copyright 2004-2005 Bavo Nootaert
void dehomogenize_enode(enode *p, int nb_param)
dehomogenize all evalues in an enode.
Matrix * Matrix_Alloc(unsigned NbRows, unsigned NbColumns)
void Matrix_Free(Matrix *Mat)
void Polyhedron_Free(Polyhedron *Pol)
Matrix * Polyhedron2Constraints(Polyhedron *Pol)
Polyhedron * Constraints2Polyhedron(Matrix *Constraints, unsigned NbMaxRays)
Given a matrix of constraints ('Constraints'), construct and return a polyhedron.
Polyhedron * ValidityDomain
struct _enumeration * next
void Vector_Copy(Value *p1, Value *p2, unsigned length)