21#define getopt_long(a,b,c,d,e) getopt(a,b,c)
25 {
"homogenized", no_argument, 0,
'h' },
39#define EPRINT_ALL_VALIDITY_CONSTRAINTS
90#define ALL_OVERFLOW_WARNINGS
117 const char **param_name;
126 while ((c = getopt_long(argc, argv,
"h",
options, &ind)) != -1) {
137 fprintf( stderr,
"Not enough parameters !\n" );
157 const char **param_name2;
158 param_name2 = (
const char**)malloc(
sizeof(
char*) * (C->
Dimension));
160 param_name2[i] = param_name[i];
163 param_name=param_name2;
171 printf(
"inhomogeneous form:\n");
174 for (en2 = en; en2; en2 = en2->
next) {
183 printf(
"Evaluation of the Ehrhart polynomial :\n");
184 p = (Value *)malloc(
sizeof(Value) * (C->
Dimension));
189 printf(
"Enter %d parameters : ",C->
Dimension);
194 fprintf(stdout,
"EP( ");
200 fprintf(stdout,
" ) = ");
203 fprintf(stdout,
"\n");
Matrix * AddANullColumn(Matrix *M)
#define value_read(val, str)
#define value_print(Dst, fmt, val)
Enumeration * Polyhedron_Enumerate(Polyhedron *Pi, Polyhedron *C, unsigned MAXRAYS, const char **param_name)
Procedure to count points in a parameterized polytope.
void print_evalue(FILE *DST, evalue *e, const char **pname)
void Enumeration_Free(Enumeration *en)
Value * compute_poly(Enumeration *en, Value *list_args)
void dehomogenize_enumeration(Enumeration *en, int nb_params, int maxRays)
dehomogenize an enumeration.
Matrix * Matrix_Read(void)
void Matrix_Free(Matrix *Mat)
const char ** Read_ParamNames(FILE *in, int m)
void Free_ParamNames(const char **params, int m)
void Polyhedron_Free(Polyhedron *Pol)
Polyhedron * Constraints2Polyhedron(Matrix *Constraints, unsigned NbMaxRays)
Given a matrix of constraints ('Constraints'), construct and return a polyhedron.
void Print_Domain(FILE *DST, Polyhedron *D, const char **pname)
Polyhedron * ValidityDomain
struct _enumeration * next
int main(int argc, char **argv)
EPRINT : print results while computing the ehrhart polynomial.