polylib 5.22.8
ehrhart.h
Go to the documentation of this file.
1#ifndef _ehrhart_H_
2#define _ehrhart_H_
3
4/*********************** User defines ******************************/
5
6/* Print all overflow warnings, or just one per domain */
7/* #define ALL_OVERFLOW_WARNINGS */
8
9/******************* End of user defines ***************************/
10
11#ifndef ALL_OVERFLOW_WARNINGS
12extern int overflow_warning_flag;
13#endif
14
15#if defined(__cplusplus)
16extern "C" {
17#endif
18
19extern void count_points(int pos, Polyhedron *P, Value *context, Value *res);
20extern void eadd(evalue *e1, evalue *res);
21extern enode *ecopy(enode *e);
22extern void edot(enode *v1, enode *v2, evalue *res);
23extern enode *new_enode(enode_type type, int size, int pos);
24extern void free_evalue_refs(evalue *e);
26 unsigned MAXRAYS, const char **pname);
27extern void print_enode(FILE *DST, enode *p, const char **pname);
28extern void print_evalue(FILE *DST, evalue *e, const char **pname);
29extern void reduce_evalue(evalue *e);
30extern void Enumeration_Free(Enumeration *en);
32 Matrix **Validity_Lattice,
33 unsigned MAXRAYS);
34extern Enumeration *Enumeration_zero(unsigned int nbParms,
35 unsigned int maxRays);
36
37#if defined(__cplusplus)
38}
39#endif
40
41#endif /* _ehrhart_H_ */
void edot(enode *v1, enode *v2, evalue *res)
computes the inner product of two vectors.
Definition: ehrhart.c:514
Enumeration * Enumeration_zero(unsigned int nbParms, unsigned int maxRays)
returns a constant Ehrhart polynomial whose value is zero for any value of the parameters.
Definition: ehrhart.c:2719
enode * new_enode(enode_type type, int size, int pos)
EHRHART POLYNOMIAL SYMBOLIC ALGEBRA SYSTEM.
Definition: ehrhart.c:90
void eadd(evalue *e1, evalue *res)
adds one evalue to evalue 'res.
Definition: ehrhart.c:385
void print_enode(FILE *DST, enode *p, const char **pname)
prints the enode to DST
Definition: ehrhart.c:190
Enumeration * Ehrhart_Quick_Apx(Matrix *M, Matrix *C, Matrix **Validity_Lattice, unsigned MAXRAYS)
Computes the approximation of the Ehrhart polynomial of a polyhedron (implicit form -> matrix),...
Definition: ehrhart.c:2627
void free_evalue_refs(evalue *e)
releases all memory referenced by e.
Definition: ehrhart.c:115
void print_evalue(FILE *DST, evalue *e, const char **pname)
Definition: ehrhart.c:169
Enumeration * Polyhedron_Enumerate(Polyhedron *P, Polyhedron *C, unsigned MAXRAYS, const char **pname)
Procedure to count points in a parameterized polytope.
Definition: ehrhart.c:1870
int overflow_warning_flag
Definition: ehrhart.c:74
enode * ecopy(enode *e)
Definition: ehrhart.c:144
void count_points(int pos, Polyhedron *P, Value *context, Value *res)
PROCEDURES TO COMPUTE ENUMERATION.
Definition: ehrhart.c:1154
void reduce_evalue(evalue *e)
Definition: ehrhart.c:271
void Enumeration_Free(Enumeration *en)
Definition: ehrhart.c:2225
Definition: types.h:182
Definition: types.h:173
Definition: types.h:75
#define maxRays
enode_type
Definition: types.h:165
#define MAXRAYS
Definition: verif_ehrhart.c:20