00001
00002
00003
00004
00005
00006
00007 #ifndef _polyparam_H_
00008 #define _polyparam_H_
00009 #if (defined(__STDC__) || defined(__cplusplus))
00010
00011 #if defined(__cplusplus)
00012 extern "C" {
00013 #endif
00014
00015 extern void Compute_PDomains ( Param_Domain *PD, int nb_domains, int
00016 working_space );
00017 extern Param_Polyhedron *GenParamPolyhedron (Polyhedron *Pol);
00018 extern void Param_Domain_Free (Param_Domain *PD);
00019 extern void Param_Polyhedron_Free ( Param_Polyhedron *P );
00020 extern void Param_Vertices_Free ( Param_Vertices *PV );
00021 extern void Param_Vertices_Print ( FILE *DST, Param_Vertices *PV,
00022 char **param_names );
00023 extern Polyhedron *PDomainDifference ( Polyhedron *Pol1, Polyhedron
00024 *Pol2, unsigned NbMaxRays );
00025 extern Polyhedron *PDomainIntersection ( Polyhedron *Pol1, Polyhedron
00026 *Pol2, unsigned NbMaxRays );
00027 extern Param_Polyhedron *Polyhedron2Param_Domain ( Polyhedron *Din,
00028 Polyhedron *Cin, int
00029 working_space );
00030 extern Param_Polyhedron *Polyhedron2Param_SimplifiedDomain (
00031 Polyhedron **Din, Polyhedron *Cin, int working_space,
00032 Polyhedron **CEq, Matrix **CT );
00033 extern Param_Polyhedron *Polyhedron2Param_Vertices ( Polyhedron *Din,
00034 Polyhedron *Cin, int
00035 working_space );
00036 extern void Print_Domain ( FILE *DST, Polyhedron *D, char **param_names );
00037 extern void Print_Vertex ( FILE *DST, Matrix *V, char **param_names );
00038 extern Matrix *VertexCT( Matrix *V, Matrix *CT );
00039
00040 #if defined(__cplusplus)
00041 }
00042 #endif
00043
00044 #else
00045
00046 extern void Compute_PDomains (
00047 );
00048 extern Param_Polyhedron *GenParamPolyhedron ();
00049 extern void Param_Domain_Free ();
00050 extern void Param_Polyhedron_Free ();
00051 extern void Param_Vertices_Free ();
00052 extern void Param_Vertices_Print (
00053 );
00054 extern Polyhedron *PDomainDifference (
00055 );
00056 extern Polyhedron *PDomainIntersection (
00057 );
00058 extern Param_Polyhedron *Polyhedron2Param_Domain (
00059
00060 );
00061 extern Param_Polyhedron *Polyhedron2Param_SimplifiedDomain (
00062
00063 );
00064 extern Param_Polyhedron *Polyhedron2Param_Vertices (
00065
00066 );
00067 extern void Print_Domain ();
00068 extern void Print_Vertex ();
00069 extern Matrix *VertexCT();
00070
00071 #endif
00072 #endif