polylib: polyparam.h Source File

- Main Page
- Classes
- Files

- File List
- File Members

# polyparam.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 _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 /* _polyparam_H_ */