polylib: testehrhart.c File Reference

# testehrhart.c File Reference

`#include <stdio.h>`
`#include <stdlib.h>`
`#include <ctype.h>`
`#include <string.h>`
`#include <unistd.h>`
`#include <assert.h>`
`#include <polylib/polylib.h>`
`#include <polylib/homogenization.h>`
`#include "config.h"`

Go to the source code of this file.

## Defines
#define | EP_EVALUATION
#define | getopt_long(a, b, c, d, e) getopt(a,b,c)
#define | WS 0
#define | EPRINT_ALL_VALIDITY_CONSTRAINTS
| define this to print all constraints on the validity domains if not defined, only new constraints (not in validity domain given by the user) are printed
#define | REDUCE_DEGREE
| The following are mainly for debug purposes.
#define | ALL_OVERFLOW_WARNINGS
| define this to print one warning message per domain overflow these overflows should no longer happen since version 4.20
## Functions
int | main (int argc, char **argv)
| EPRINT : print results while computing the ehrhart polynomial.

## Define Documentation

#define ALL_OVERFLOW_WARNINGS

define this to print one warning message per domain overflow these overflows should no longer happen since version 4.20

Definition at line 110 of file testehrhart.c.

#define EP_EVALUATION

Definition at line 38 of file testehrhart.c.

#define EPRINT_ALL_VALIDITY_CONSTRAINTS

define this to print all constraints on the validity domains if not defined, only new constraints (not in validity domain given by the user) are printed

Definition at line 59 of file testehrhart.c.

#define getopt_long | ( | a,
|  | b,
|  | c,
|  | d,
|  | e |  | ) | getopt(a,b,c)

Definition at line 41 of file testehrhart.c.

Referenced by main().

#define REDUCE_DEGREE

The following are mainly for debug purposes.

You shouldn't need to change anything for daily usage... you may define each macro independently

1. define EDEBUG minimal debug
2. define EDEBUG1 prints enumeration points
3. define EDEBUG11 prints number of points
4. define EDEBUG2 prints domains
5. define EDEBUG21 prints more domains
6. define EDEBUG3 prints systems of equations that are solved
7. define EDEBUG4 prints message for degree reduction
8. define EDEBUG5 prints result before simplification
9. define EDEBUG6 prints domains in Preprocess
10. define EDEBUG61 prints even more in Preprocess
11. define EDEBUG62 prints domains in Preprocess2

Reduce the degree of resulting polynomials

Definition at line 102 of file testehrhart.c.

#define WS 0

Definition at line 50 of file testehrhart.c.

## Function Documentation

int main | ( | int | argc,
|  | char ** | argv |
| ) |  |  |

EPRINT : print results while computing the ehrhart polynomial.

this is done by default if you build the executable ehrhart. (If EMAIN is defined). Don't define EMAIN here, it is defined when necessary in the makefile.

Notice: you may however define EPRINT without defining EMAIN, but in this case, you have to initialize the global variable param_name by calling Read_ParamNames before any call to ehrhart. This is NOT recommanded, unless you know what you do. EPRINT causes more debug messages to be printed.

Definition at line 130 of file testehrhart.c.

References AddANullColumn(), compute_poly(), Constraints2Polyhedron(), dehomogenize_enumeration(), polyhedron::Dimension, Enumeration_Free(), _enumeration::EP, FOREVER, Free_ParamNames(), getopt_long, Matrix_Free(), Matrix_Read(), matrix::NbColumns, _enumeration::next, p, Polyhedron_Enumerate(), Polyhedron_Free(), Print_Domain(), print_evalue(), Read_ParamNames(), _enumeration::ValidityDomain, value_init, value_print, value_read, and WS.