Main Page | Class List | File List | Class Members | File Members

Zpolyhedron.h File Reference

Go to the source code of this file.

Functions

void CanonicalForm (ZPolyhedron *Zpol, ZPolyhedron **Result, Matrix **Basis)
ZPolyhedronEmptyZPolyhedron (int dimension)
ZPolyhedronIntegraliseLattice (ZPolyhedron *A)
Bool isEmptyZPolyhedron (ZPolyhedron *Zpol)
ZPolyhedronZDomainDifference (ZPolyhedron *A, ZPolyhedron *B)
ZPolyhedronZDomainImage (ZPolyhedron *A, Matrix *Func)
Bool ZDomainIncludes (ZPolyhedron *A, ZPolyhedron *B)
ZPolyhedronZDomainIntersection (ZPolyhedron *A, ZPolyhedron *B)
ZPolyhedronZDomainPreimage (ZPolyhedron *A, Matrix *Func)
void ZDomainPrint (FILE *fp, const char *format, ZPolyhedron *A)
ZPolyhedronZDomainSimplify (ZPolyhedron *ZDom)
ZPolyhedronZDomainUnion (ZPolyhedron *A, ZPolyhedron *B)
ZPolyhedronZDomain_Copy (ZPolyhedron *Head)
void ZDomain_Free (ZPolyhedron *Head)
Bool ZPolyhedronIncludes (ZPolyhedron *A, ZPolyhedron *B)
ZPolyhedronZPolyhedron_Alloc (Lattice *Lat, Polyhedron *Poly)
ZPolyhedronSplitZpolyhedron (ZPolyhedron *ZPol, Lattice *B)


Function Documentation

void CanonicalForm ZPolyhedron Zpol,
ZPolyhedron **  Result,
Matrix **  Basis
 

Definition at line 744 of file Zpolyhedron.c.

References AffineHermite(), ChangeLatticeDimension(), Domain_Free(), DomainImage(), FindHermiteBasisofDomain(), Identity(), isEmptyZPolyhedron(), ZPolyhedron::Lat, Matrix, Matrix_Alloc(), Matrix_Copy(), Matrix_Free(), Matrix_Inverse(), Matrix_Product(), MAXNOOFRAYS, matrix::NbColumns, matrix::NbRows, matrix::p, ZPolyhedron::P, Polyhedron, 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 247 of file Zpolyhedron.c.

References Domain_Free(), Empty_Polyhedron(), EmptyLattice(), Lattice, Matrix, Matrix_Free(), Polyhedron, and ZPolyhedron_Alloc().

Referenced by IntegraliseLattice(), main(), ZDomainDifference(), ZDomainImage(), ZDomainIntersection(), ZDomainPreimage(), ZDomainSimplify(), ZPolyhedronDifference(), ZPolyhedronIntersection(), and ZPolyhedronPreimage().

ZPolyhedron* IntegraliseLattice ZPolyhedron A  ) 
 

Definition at line 837 of file Zpolyhedron.c.

References Domain_Free(), DomainImage(), DomainPreimage(), EmptyZPolyhedron(), Identity(), isEmptyLattice(), ZPolyhedron::Lat, Lattice, LatticeImage(), Matrix_Free(), MAXNOOFRAYS, matrix::NbRows, ZPolyhedron::P, Polyhedron, and ZPolyhedron_Alloc().

Referenced by ZPolyhedron_Alloc().

Bool isEmptyZPolyhedron ZPolyhedron Zpol  ) 
 

Definition at line 23 of file Zpolyhedron.c.

References Bool, 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 954 of file Zpolyhedron.c.

References AddZPoly2ZDomain(), AffineHermite(), isEmptyLattice(), isinHnf(), ZPolyhedron::Lat, Lattice, Lattice2LatticeUnion(), LatticeUnion::M, Matrix, 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 101 of file Zpolyhedron.c.

References ZPolyhedron::next, and ZPolyhedron_Copy().

Referenced by CanonicalForm(), and ZPolyhedronDifference().

void ZDomain_Free ZPolyhedron Head  ) 
 

Definition at line 76 of file Zpolyhedron.c.

References ZPolyhedron::next, and ZPolyhedron_Free().

Referenced by AddZPoly2ZDomain(), AddZPolytoZDomain(), main(), ZDomainDifference(), and ZDomainIncludes().

ZPolyhedron* ZDomainDifference ZPolyhedron A,
ZPolyhedron B
 

Definition at line 416 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 469 of file Zpolyhedron.c.

References AddZPolytoZDomain(), EmptyZPolyhedron(), Matrix, ZPolyhedron::next, ZPolyhedron_Free(), and ZPolyhedronImage().

Referenced by main().

Bool ZDomainIncludes ZPolyhedron A,
ZPolyhedron B
 

Definition at line 272 of file Zpolyhedron.c.

References Bool, False, isEmptyZPolyhedron(), True, ZDomain_Free(), and ZDomainDifference().

ZPolyhedron* ZDomainIntersection ZPolyhedron A,
ZPolyhedron B
 

Definition at line 379 of file Zpolyhedron.c.

References AddZPolytoZDomain(), EmptyZPolyhedron(), ZPolyhedron::next, ZPolyhedron_Free(), and ZPolyhedronIntersection().

Referenced by main().

ZPolyhedron* ZDomainPreimage ZPolyhedron A,
Matrix Func
 

Definition at line 497 of file Zpolyhedron.c.

References AddZPolytoZDomain(), EmptyZPolyhedron(), ZPolyhedron::Lat, Matrix, 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 321 of file Zpolyhedron.c.

References ZPolyhedron::next, and ZPolyhedronPrint().

Referenced by main().

ZPolyhedron* ZDomainSimplify ZPolyhedron ZDom  ) 
 

Definition at line 870 of file Zpolyhedron.c.

References Bool, Domain_Copy(), Domain_Free(), DomainDifference(), DomainImage(), DomainPreimage(), emptyQ, EmptyZPolyhedron(), False, ForSimplify, ZPolyhedron::Lat, Lattice, LatticeSimplify(), LatticeUnion_Free(), forsimplify::LatUni, LatticeUnion::M, Matrix, Matrix_Copy(), MAXNOOFRAYS, matrix::NbRows, LatticeUnion::next, forsimplify::next, ZPolyhedron::next, ZPolyhedron::P, forsimplify::Pol, Polyhedron, True, ZDomainUnion(), ZPolyhedron_Alloc(), ZPolyhedron_Copy(), and ZPolyhedron_Free().

Referenced by main().

ZPolyhedron* ZDomainUnion ZPolyhedron A,
ZPolyhedron B
 

Definition at line 357 of file Zpolyhedron.c.

References AddZPolytoZDomain(), and ZPolyhedron::next.

Referenced by main(), and ZDomainSimplify().

ZPolyhedron* ZPolyhedron_Alloc Lattice Lat,
Polyhedron Poly
 

Definition at line 38 of file Zpolyhedron.c.

References polyhedron::Dimension, Domain_Copy(), False, IntegraliseLattice(), isEmptyLattice(), isfulldim(), IsLattice(), ZPolyhedron::Lat, Lattice, Matrix_Copy(), matrix::NbRows, ZPolyhedron::next, ZPolyhedron::P, POL_ENSURE_FACETS, POL_ENSURE_VERTICES, Polyhedron, and ZPolyhedron_Free().

Referenced by AddZPolytoZDomain(), CanonicalForm(), EmptyZPolyhedron(), IntegraliseLattice(), main(), SplitZpolyhedron(), ZDomainSimplify(), ZPolyhedron_Copy(), ZPolyhedronDifference(), ZPolyhedronImage(), ZPolyhedronIntersection(), and ZPolyhedronPreimage().

Bool ZPolyhedronIncludes ZPolyhedron A,
ZPolyhedron B
 

Definition at line 289 of file Zpolyhedron.c.

References Bool, Domain_Free(), DomainDifference(), DomainImage(), emptyQ, False, ZPolyhedron::Lat, LatticeIncludes(), MAXNOOFRAYS, ZPolyhedron::P, Polyhedron, and True.

Referenced by AddZPolytoZDomain(), and main().


Generated on Thu Sep 4 15:29:00 2008 for polylib by doxygen 1.3.5