00001
00002 #ifndef _ehrhart_H_
00003 #define _ehrhart_H_
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef ALL_OVERFLOW_WARNINGS
00014 extern int overflow_warning_flag;
00015 #endif
00016
00017
00018 #if (defined(__STDC__) || defined(__cplusplus))
00019
00020 #if defined(__cplusplus)
00021 extern "C" {
00022 #endif
00023
00024 extern void count_points ( int pos, Polyhedron *P, Value *context, Value *res );
00025 extern void eadd ( evalue *e1, evalue *res );
00026 extern enode *ecopy ( enode *e );
00027 extern void edot ( enode *v1, enode *v2, evalue *res );
00028 extern enode *new_enode( enode_type type,int size, int pos );
00029 extern void free_evalue_refs ( evalue *e );
00030 extern Enumeration *Polyhedron_Enumerate ( Polyhedron *P, Polyhedron *C,
00031 unsigned MAXRAYS, char **pname );
00032 extern void print_enode ( FILE *DST, enode *p, char **pname );
00033 extern void print_evalue ( FILE *DST, evalue *e, char **pname );
00034 extern void reduce_evalue (evalue *e);
00035 extern void Enumeration_Free(Enumeration *en);
00036
00037 #if defined(__cplusplus)
00038 }
00039 #endif
00040
00041 #else
00042
00043 extern void count_points ();
00044 extern void eadd ();
00045 extern enode *ecopy ();
00046 extern void edot ();
00047 extern enode *new_enode( );
00048 extern void free_evalue_refs ();
00049 extern Enumeration *Polyhedron_Enumerate (
00050 );
00051 extern void print_enode ();
00052 extern void print_evalue ();
00053 extern void reduce_evalue ();
00054 extern void Enumeration_Free();
00055
00056 #endif
00057 #endif