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