polylib 5.22.8
|
Go to the source code of this file.
Classes | |
struct | forsimplify |
Typedefs | |
typedef struct forsimplify | ForSimplify |
typedef struct forsimplify ForSimplify |
|
static |
Definition at line 125 of file Zpolyhedron.c.
References isEmptyZPolyhedron(), ZPolyhedron::next, ZDomain_Free(), and ZPolyhedron_Copy().
Referenced by SplitZpolyhedron(), ZDomainDifference(), and ZPolyhedronDifference().
|
static |
Definition at line 152 of file Zpolyhedron.c.
References AffineHermite(), CanonicalForm(), Domain_Copy(), Domain_Free(), DomainImage(), DomainUnion(), False, isEmptyZPolyhedron(), ZPolyhedron::Lat, Matrix_Alloc(), Matrix_Free(), Matrix_Product(), MAXNOOFRAYS, matrix::NbColumns, matrix::NbRows, polyhedron::next, ZPolyhedron::next, ZPolyhedron::P, sameLattice(), True, ZDomain_Free(), ZPolyhedron_Alloc(), ZPolyhedron_Free(), and ZPolyhedronIncludes().
Referenced by ZDomainDifference(), ZDomainImage(), ZDomainIntersection(), ZDomainPreimage(), ZDomainUnion(), and ZPolyhedronDifference().
void CanonicalForm | ( | ZPolyhedron * | Zpol, |
ZPolyhedron ** | Result, | ||
Matrix ** | Basis | ||
) |
Definition at line 743 of file Zpolyhedron.c.
References AffineHermite(), ChangeLatticeDimension(), Domain_Free(), DomainImage(), FindHermiteBasisofDomain(), Identity(), isEmptyZPolyhedron(), ZPolyhedron::Lat, Matrix_Alloc(), Matrix_Copy(), Matrix_Free(), Matrix_Inverse(), Matrix_Product(), MAXNOOFRAYS, matrix::NbColumns, matrix::NbRows, matrix::p, ZPolyhedron::P, Polyhedron_Free(), value_assign, value_clear, value_init, ZDomain_Copy(), and ZPolyhedron_Alloc().
Referenced by AddZPolytoZDomain(), and main().
ZPolyhedron * EmptyZPolyhedron | ( | int | dimension | ) |
Definition at line 245 of file Zpolyhedron.c.
References Domain_Free(), Empty_Polyhedron(), EmptyLattice(), Matrix_Free(), and ZPolyhedron_Alloc().
Referenced by IntegraliseLattice(), main(), ZDomainDifference(), ZDomainImage(), ZDomainIntersection(), ZDomainPreimage(), ZDomainSimplify(), ZPolyhedronDifference(), ZPolyhedronIntersection(), and ZPolyhedronPreimage().
ZPolyhedron * IntegraliseLattice | ( | ZPolyhedron * | A | ) |
Definition at line 838 of file Zpolyhedron.c.
References Domain_Free(), DomainImage(), DomainPreimage(), EmptyZPolyhedron(), Identity(), isEmptyLattice(), ZPolyhedron::Lat, LatticeImage(), Matrix_Free(), MAXNOOFRAYS, matrix::NbRows, ZPolyhedron::P, and ZPolyhedron_Alloc().
Referenced by ZPolyhedron_Alloc().
Bool isEmptyZPolyhedron | ( | ZPolyhedron * | Zpol | ) |
Definition at line 22 of file Zpolyhedron.c.
References emptyQ, False, isEmptyLattice(), ZPolyhedron::Lat, ZPolyhedron::P, and True.
Referenced by AddZPoly2ZDomain(), AddZPolytoZDomain(), CanonicalForm(), main(), ZDomainIncludes(), and ZPolyhedronDifference().
ZPolyhedron * SplitZpolyhedron | ( | ZPolyhedron * | ZPol, |
Lattice * | B | ||
) |
Definition at line 955 of file Zpolyhedron.c.
References AddZPoly2ZDomain(), AffineHermite(), isEmptyLattice(), isinHnf(), ZPolyhedron::Lat, Lattice2LatticeUnion(), Matrix_Copy(), Matrix_Free(), matrix::NbColumns, matrix::NbRows, LatticeUnion::next, ZPolyhedron::P, True, ZPolyhedron_Alloc(), and ZPolyhedron_Free().
Referenced by main().
ZPolyhedron * ZDomain_Copy | ( | ZPolyhedron * | Head | ) |
Definition at line 100 of file Zpolyhedron.c.
References ZPolyhedron::next, ZDomain_Copy(), and ZPolyhedron_Copy().
Referenced by CanonicalForm(), ZDomain_Copy(), and ZPolyhedronDifference().
void ZDomain_Free | ( | ZPolyhedron * | Head | ) |
Definition at line 75 of file Zpolyhedron.c.
References ZPolyhedron::next, ZDomain_Free(), and ZPolyhedron_Free().
Referenced by AddZPoly2ZDomain(), AddZPolytoZDomain(), main(), ZDomain_Free(), ZDomainDifference(), and ZDomainIncludes().
ZPolyhedron * ZDomainDifference | ( | ZPolyhedron * | A, |
ZPolyhedron * | B | ||
) |
Definition at line 412 of file Zpolyhedron.c.
References AddZPoly2ZDomain(), AddZPolytoZDomain(), EmptyZPolyhedron(), ZPolyhedron::Lat, matrix::NbRows, ZPolyhedron::next, ZDomain_Free(), ZPolyhedron_Copy(), and ZPolyhedronDifference().
Referenced by main(), and ZDomainIncludes().
ZPolyhedron * ZDomainImage | ( | ZPolyhedron * | A, |
Matrix * | Func | ||
) |
Definition at line 466 of file Zpolyhedron.c.
References AddZPolytoZDomain(), EmptyZPolyhedron(), ZPolyhedron::Lat, matrix::NbRows, ZPolyhedron::next, ZPolyhedron_Free(), and ZPolyhedronImage().
Referenced by main().
Bool ZDomainIncludes | ( | ZPolyhedron * | A, |
ZPolyhedron * | B | ||
) |
Definition at line 270 of file Zpolyhedron.c.
References False, isEmptyZPolyhedron(), True, ZDomain_Free(), and ZDomainDifference().
ZPolyhedron * ZDomainIntersection | ( | ZPolyhedron * | A, |
ZPolyhedron * | B | ||
) |
Definition at line 375 of file Zpolyhedron.c.
References AddZPolytoZDomain(), EmptyZPolyhedron(), ZPolyhedron::Lat, matrix::NbRows, ZPolyhedron::next, ZPolyhedron_Free(), and ZPolyhedronIntersection().
Referenced by main().
ZPolyhedron * ZDomainPreimage | ( | ZPolyhedron * | A, |
Matrix * | Func | ||
) |
Definition at line 494 of file Zpolyhedron.c.
References AddZPolytoZDomain(), EmptyZPolyhedron(), ZPolyhedron::Lat, matrix::NbColumns, matrix::NbRows, ZPolyhedron::next, ZPolyhedron_Free(), and ZPolyhedronPreimage().
Referenced by main().
void ZDomainPrint | ( | FILE * | fp, |
const char * | format, | ||
ZPolyhedron * | A | ||
) |
Definition at line 319 of file Zpolyhedron.c.
References ZPolyhedron::next, ZDomainPrint(), and ZPolyhedronPrint().
Referenced by main(), and ZDomainPrint().
ZPolyhedron * ZDomainSimplify | ( | ZPolyhedron * | ZDom | ) |
Definition at line 871 of file Zpolyhedron.c.
References Domain_Copy(), Domain_Free(), DomainDifference(), DomainImage(), DomainPreimage(), emptyQ, EmptyZPolyhedron(), False, ZPolyhedron::Lat, LatticeSimplify(), LatticeUnion_Free(), forsimplify::LatUni, LatticeUnion::M, Matrix_Copy(), MAXNOOFRAYS, matrix::NbRows, LatticeUnion::next, ZPolyhedron::next, forsimplify::next, ZPolyhedron::P, forsimplify::Pol, True, ZDomainUnion(), ZPolyhedron_Alloc(), ZPolyhedron_Copy(), and ZPolyhedron_Free().
Referenced by main().
ZPolyhedron * ZDomainUnion | ( | ZPolyhedron * | A, |
ZPolyhedron * | B | ||
) |
Definition at line 353 of file Zpolyhedron.c.
References AddZPolytoZDomain(), and ZPolyhedron::next.
Referenced by main(), and ZDomainSimplify().
ZPolyhedron * ZPolyhedron_Alloc | ( | Lattice * | Lat, |
Polyhedron * | Poly | ||
) |
Definition at line 37 of file Zpolyhedron.c.
References polyhedron::Dimension, Domain_Copy(), False, IntegraliseLattice(), isEmptyLattice(), isfulldim(), IsLattice(), ZPolyhedron::Lat, Matrix_Copy(), matrix::NbRows, ZPolyhedron::next, ZPolyhedron::P, POL_ENSURE_FACETS, POL_ENSURE_VERTICES, and ZPolyhedron_Free().
Referenced by AddZPolytoZDomain(), CanonicalForm(), EmptyZPolyhedron(), IntegraliseLattice(), main(), SplitZpolyhedron(), ZDomainSimplify(), ZPolyhedron_Copy(), ZPolyhedronDifference(), ZPolyhedronImage(), ZPolyhedronIntersection(), and ZPolyhedronPreimage().
|
static |
Definition at line 113 of file Zpolyhedron.c.
References ZPolyhedron::Lat, ZPolyhedron::P, and ZPolyhedron_Alloc().
Referenced by AddZPoly2ZDomain(), ZDomain_Copy(), ZDomainDifference(), and ZDomainSimplify().
|
static |
Definition at line 87 of file Zpolyhedron.c.
References Domain_Free(), ZPolyhedron::Lat, Matrix_Free(), and ZPolyhedron::P.
Referenced by AddZPolytoZDomain(), SplitZpolyhedron(), ZDomain_Free(), ZDomainImage(), ZDomainIntersection(), ZDomainPreimage(), ZDomainSimplify(), ZPolyhedron_Alloc(), ZPolyhedronDifference(), and ZPolyhedronIntersection().
|
static |
Definition at line 572 of file Zpolyhedron.c.
References AddZPoly2ZDomain(), AddZPolytoZDomain(), Domain_Copy(), Domain_Free(), DomainDifference(), DomainImage(), DomainIntersection(), DomainPreimage(), emptyQ, EmptyZPolyhedron(), False, isEmptyZPolyhedron(), ZPolyhedron::Lat, LatticeDifference(), LatticeUnion::M, Matrix_Free(), MAXNOOFRAYS, matrix::NbRows, LatticeUnion::next, ZPolyhedron::P, True, ZDomain_Copy(), ZPolyhedron_Alloc(), and ZPolyhedron_Free().
Referenced by ZDomainDifference().
|
static |
Definition at line 649 of file Zpolyhedron.c.
References Domain_Free(), DomainImage(), DomainPreimage(), emptyQ, isEmptyLattice(), ZPolyhedron::Lat, LatticeImage(), Matrix_Free(), MAXNOOFRAYS, matrix::NbColumns, matrix::NbRows, ZPolyhedron::P, forsimplify::Pol, and ZPolyhedron_Alloc().
Referenced by ZDomainImage().
Bool ZPolyhedronIncludes | ( | ZPolyhedron * | A, |
ZPolyhedron * | B | ||
) |
Definition at line 287 of file Zpolyhedron.c.
References Domain_Free(), DomainDifference(), DomainImage(), emptyQ, False, ZPolyhedron::Lat, LatticeIncludes(), MAXNOOFRAYS, ZPolyhedron::P, and True.
Referenced by AddZPolytoZDomain(), and main().
|
static |
Definition at line 527 of file Zpolyhedron.c.
References Domain_Free(), DomainImage(), DomainIntersection(), DomainPreimage(), emptyQ, EmptyZPolyhedron(), isEmptyLattice(), ZPolyhedron::Lat, LatticeIntersection(), Matrix_Free(), MAXNOOFRAYS, matrix::NbRows, ZPolyhedron::P, True, ZPolyhedron_Alloc(), and ZPolyhedron_Free().
Referenced by ZDomainIntersection().
|
static |
Definition at line 701 of file Zpolyhedron.c.
References Domain_Free(), DomainImage(), DomainPreimage(), emptyQ, EmptyZPolyhedron(), isEmptyLattice(), ZPolyhedron::Lat, LatticePreimage(), Matrix_Free(), MAXNOOFRAYS, matrix::NbColumns, matrix::NbRows, ZPolyhedron::P, and ZPolyhedron_Alloc().
Referenced by ZDomainPreimage().
|
static |
Definition at line 338 of file Zpolyhedron.c.
References ZPolyhedron::Lat, Matrix_Print(), matrix::NbRows, ZPolyhedron::P, and Polyhedron_Print().
Referenced by ZDomainPrint().