polylib: Zpolyhedron.h Source File

- Main Page
- Classes
- Files

- File List
- File Members

# Zpolyhedron.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 _Zpolyhedron_h_
    00019 #define _Zpolyhedron_h_
    00020
    00021 #if defined(__cplusplus)
    00022 extern "C" {
    00023 #endif
    00024
    00025 extern void CanonicalForm(ZPolyhedron *Zpol, ZPolyhedron **Result,
    00026                           Matrix **Basis);
    00027 extern ZPolyhedron *EmptyZPolyhedron (int dimension);
    00028 extern ZPolyhedron *IntegraliseLattice (ZPolyhedron *A);
    00029 extern Bool isEmptyZPolyhedron (ZPolyhedron *Zpol);
    00030 extern ZPolyhedron *ZDomainDifference (ZPolyhedron *A, ZPolyhedron *B);
    00031 extern ZPolyhedron *ZDomainImage ( ZPolyhedron *A, Matrix *Func );
    00032 extern Bool ZDomainIncludes ( ZPolyhedron *A, ZPolyhedron *B );
    00033 extern ZPolyhedron *ZDomainIntersection ( ZPolyhedron *A, ZPolyhedron *B );
    00034 extern ZPolyhedron *ZDomainPreimage ( ZPolyhedron *A, Matrix *Func );
    00035 extern void ZDomainPrint(FILE *fp, const char *format, ZPolyhedron *A);
    00036 extern ZPolyhedron *ZDomainSimplify ( ZPolyhedron *ZDom );
    00037 extern ZPolyhedron *ZDomainUnion ( ZPolyhedron *A, ZPolyhedron *B );
    00038 extern ZPolyhedron *ZDomain_Copy ( ZPolyhedron *Head );
    00039 extern void ZDomain_Free ( ZPolyhedron *Head );
    00040 extern Bool ZPolyhedronIncludes ( ZPolyhedron *A, ZPolyhedron *B );
    00041 extern ZPolyhedron *ZPolyhedron_Alloc ( Lattice *Lat, Polyhedron *Poly );
    00042 extern ZPolyhedron *SplitZpolyhedron(ZPolyhedron *ZPol, Lattice *B);
    00043
    00044 #if defined(__cplusplus)
    00045 }
    00046 #endif
    00047
    00048 #endif /* _Zpolyhedron_h_ */