polylib: ehrhart.h Source File

- Main Page
- Classes
- Files

- File List
- File Members

# ehrhart.h

Go to the documentation of this file.

    00001 /*
    00002     This file is part of PolyLib.
    00003
    00004     PolyLib is free software: you can redistribute it and/or modify
    00005     it under the terms of the GNU General Public License as published by
    00006     the Free Software Foundation, either version 3 of the License, or
    00007     (at your option) any later version.
    00008
    00009     PolyLib is distributed in the hope that it will be useful,
    00010     but WITHOUT ANY WARRANTY; without even the implied warranty of
    00011     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    00012     GNU General Public License for more details.
    00013
    00014     You should have received a copy of the GNU General Public License
    00015     along with PolyLib.  If not, see <http://www.gnu.org/licenses/>.
    00016 */
    00017
    00018 #ifndef _ehrhart_H_
    00019 #define _ehrhart_H_
    00020
    00021 /*********************** User defines ******************************/
    00022
    00023 /* Print all overflow warnings, or just one per domain             */
    00024 /* #define ALL_OVERFLOW_WARNINGS */
    00025
    00026 /******************* End of user defines ***************************/
    00027
    00028
    00029 #ifndef ALL_OVERFLOW_WARNINGS
    00030 extern int overflow_warning_flag;
    00031 #endif
    00032
    00033 #if defined(__cplusplus)
    00034 extern "C" {
    00035 #endif
    00036
    00037 extern void count_points ( int pos, Polyhedron *P, Value *context, Value *res );
    00038 extern void eadd ( evalue *e1, evalue *res );
    00039 extern enode *ecopy ( enode *e );
    00040 extern void edot ( enode *v1, enode *v2, evalue *res );
    00041 extern enode *new_enode( enode_type type,int size, int pos );
    00042 extern void free_evalue_refs ( evalue *e );
    00043 extern Enumeration *Polyhedron_Enumerate(Polyhedron *P, Polyhedron *C,
    00044                                          unsigned MAXRAYS, const char **pname);
    00045 extern void print_enode(FILE *DST, enode *p, const char **pname);
    00046 extern void print_evalue(FILE *DST, evalue *e, const char **pname);
    00047 extern void reduce_evalue (evalue *e);
    00048 extern void Enumeration_Free(Enumeration *en);
    00049 extern Enumeration *Ehrhart_Quick_Apx(Matrix * M, Matrix * C,
    00050                                       Matrix ** Validity_Lattice,
    00051                                       unsigned MAXRAYS);
    00052 extern Enumeration * Enumeration_zero(unsigned int nbParms,
    00053                                       unsigned int maxRays);
    00054
    00055 #if defined(__cplusplus)
    00056 }
    00057 #endif
    00058
    00059 #endif /* _ehrhart_H_ */