Zpolyhedron.c File Reference

#include <polylib/polylib.h>
#include <stdlib.h>

Go to the source code of this file.

Classes

struct  forsimplify

Typedefs

typedef struct forsimplify ForSimplify

Functions

static ZPolyhedron * ZPolyhedronIntersection (ZPolyhedron *, ZPolyhedron *)
static ZPolyhedron * ZPolyhedron_Copy (ZPolyhedron *A)
static void ZPolyhedron_Free (ZPolyhedron *Zpol)
static ZPolyhedron * ZPolyhedronDifference (ZPolyhedron *, ZPolyhedron *)
static ZPolyhedron * ZPolyhedronImage (ZPolyhedron *, Matrix *)
static ZPolyhedron * ZPolyhedronPreimage (ZPolyhedron *, Matrix *)
static ZPolyhedron * AddZPolytoZDomain (ZPolyhedron *A, ZPolyhedron *Head)
static void ZPolyhedronPrint (FILE *fp, const char *format, ZPolyhedron *A)
Bool isEmptyZPolyhedron (ZPolyhedron *Zpol)
ZPolyhedron * ZPolyhedron_Alloc (Lattice *Lat, Polyhedron *Poly)
void ZDomain_Free (ZPolyhedron *Head)
ZPolyhedron * ZDomain_Copy (ZPolyhedron *Head)
static ZPolyhedron * AddZPoly2ZDomain (ZPolyhedron *Zpol, ZPolyhedron *Result)
ZPolyhedron * EmptyZPolyhedron (int dimension)
Bool ZDomainIncludes (ZPolyhedron *A, ZPolyhedron *B)
Bool ZPolyhedronIncludes (ZPolyhedron *A, ZPolyhedron *B)
void ZDomainPrint (FILE *fp, const char *format, ZPolyhedron *A)
ZPolyhedron * ZDomainUnion (ZPolyhedron *A, ZPolyhedron *B)
ZPolyhedron * ZDomainIntersection (ZPolyhedron *A, ZPolyhedron *B)
ZPolyhedron * ZDomainDifference (ZPolyhedron *A, ZPolyhedron *B)
ZPolyhedron * ZDomainImage (ZPolyhedron *A, Matrix *Func)
ZPolyhedron * ZDomainPreimage (ZPolyhedron *A, Matrix *Func)
void CanonicalForm (ZPolyhedron *Zpol, ZPolyhedron **Result, Matrix **Basis)
ZPolyhedron * IntegraliseLattice (ZPolyhedron *A)
ZPolyhedron * ZDomainSimplify (ZPolyhedron *ZDom)
ZPolyhedron * SplitZpolyhedron (ZPolyhedron *ZPol, Lattice *B)

Typedef Documentation

typedef struct forsimplify ForSimplify

Function Documentation

static ZPolyhedron* AddZPoly2ZDomain ( ZPolyhedron *  Zpol,
ZPolyhedron *  Result 
) [static]
static ZPolyhedron * AddZPolytoZDomain ( ZPolyhedron *  A,
ZPolyhedron *  Head 
) [static]
void CanonicalForm ( ZPolyhedron *  Zpol,
ZPolyhedron **  Result,
Matrix **  Basis 
)
ZPolyhedron* EmptyZPolyhedron ( int  dimension  ) 
ZPolyhedron* IntegraliseLattice ( ZPolyhedron *  A  ) 
Bool isEmptyZPolyhedron ( ZPolyhedron *  Zpol  ) 
ZPolyhedron* SplitZpolyhedron ( ZPolyhedron *  ZPol,
Lattice *  B 
)
ZPolyhedron* ZDomain_Copy ( ZPolyhedron *  Head  ) 
void ZDomain_Free ( ZPolyhedron *  Head  ) 
ZPolyhedron* ZDomainDifference ( ZPolyhedron *  A,
ZPolyhedron *  B 
)
ZPolyhedron* ZDomainImage ( ZPolyhedron *  A,
Matrix *  Func 
)
Bool ZDomainIncludes ( ZPolyhedron *  A,
ZPolyhedron *  B 
)

Definition at line 289 of file Zpolyhedron.c.

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

ZPolyhedron* ZDomainIntersection ( ZPolyhedron *  A,
ZPolyhedron *  B 
)
ZPolyhedron* ZDomainPreimage ( ZPolyhedron *  A,
Matrix *  Func 
)
void ZDomainPrint ( FILE *  fp,
const char *  format,
ZPolyhedron *  A 
)

Definition at line 338 of file Zpolyhedron.c.

References ZPolyhedron::next, ZDomainPrint(), and ZPolyhedronPrint().

Referenced by main(), and ZDomainPrint().

ZPolyhedron* ZDomainSimplify ( ZPolyhedron *  ZDom  ) 
ZPolyhedron* ZDomainUnion ( ZPolyhedron *  A,
ZPolyhedron *  B 
)

Definition at line 374 of file Zpolyhedron.c.

References AddZPolytoZDomain(), and ZPolyhedron::next.

Referenced by main(), and ZDomainSimplify().

ZPolyhedron* ZPolyhedron_Alloc ( Lattice *  Lat,
Polyhedron *  Poly 
)
static ZPolyhedron * ZPolyhedron_Copy ( ZPolyhedron *  A  )  [static]
static void ZPolyhedron_Free ( ZPolyhedron *  Zpol  )  [static]
static ZPolyhedron * ZPolyhedronDifference ( ZPolyhedron *  A,
ZPolyhedron *  B 
) [static]
static ZPolyhedron * ZPolyhedronImage ( ZPolyhedron *  ZPol,
Matrix *  Func 
) [static]
Bool ZPolyhedronIncludes ( ZPolyhedron *  A,
ZPolyhedron *  B 
)
static ZPolyhedron * ZPolyhedronIntersection ( ZPolyhedron *  A,
ZPolyhedron *  B 
) [static]
static ZPolyhedron * ZPolyhedronPreimage ( ZPolyhedron *  Zpol,
Matrix *  G 
) [static]
static void ZPolyhedronPrint ( FILE *  fp,
const char *  format,
ZPolyhedron *  A 
) [static]

Definition at line 358 of file Zpolyhedron.c.

References ZPolyhedron::Lat, Matrix_Print(), matrix::NbRows, ZPolyhedron::P, and Polyhedron_Print().

Referenced by ZDomainPrint().


Generated on Wed Nov 25 17:45:27 2009 for polylib by  doxygen 1.6.1