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 ZPolyhedronZPolyhedronIntersection (ZPolyhedron *, ZPolyhedron *)
static ZPolyhedronZPolyhedron_Copy (ZPolyhedron *A)
static void ZPolyhedron_Free (ZPolyhedron *Zpol)
static ZPolyhedronZPolyhedronDifference (ZPolyhedron *, ZPolyhedron *)
static ZPolyhedronZPolyhedronImage (ZPolyhedron *, Matrix *)
static ZPolyhedronZPolyhedronPreimage (ZPolyhedron *, Matrix *)
static ZPolyhedronAddZPolytoZDomain (ZPolyhedron *A, ZPolyhedron *Head)
static void ZPolyhedronPrint (FILE *fp, const char *format, ZPolyhedron *A)
Bool isEmptyZPolyhedron (ZPolyhedron *Zpol)
ZPolyhedronZPolyhedron_Alloc (Lattice *Lat, Polyhedron *Poly)
void ZDomain_Free (ZPolyhedron *Head)
ZPolyhedronZDomain_Copy (ZPolyhedron *Head)
static ZPolyhedronAddZPoly2ZDomain (ZPolyhedron *Zpol, ZPolyhedron *Result)
ZPolyhedronEmptyZPolyhedron (int dimension)
Bool ZDomainIncludes (ZPolyhedron *A, ZPolyhedron *B)
Bool ZPolyhedronIncludes (ZPolyhedron *A, ZPolyhedron *B)
void ZDomainPrint (FILE *fp, const char *format, ZPolyhedron *A)
ZPolyhedronZDomainUnion (ZPolyhedron *A, ZPolyhedron *B)
ZPolyhedronZDomainIntersection (ZPolyhedron *A, ZPolyhedron *B)
ZPolyhedronZDomainDifference (ZPolyhedron *A, ZPolyhedron *B)
ZPolyhedronZDomainImage (ZPolyhedron *A, Matrix *Func)
ZPolyhedronZDomainPreimage (ZPolyhedron *A, Matrix *Func)
void CanonicalForm (ZPolyhedron *Zpol, ZPolyhedron **Result, Matrix **Basis)
ZPolyhedronIntegraliseLattice (ZPolyhedron *A)
ZPolyhedronZDomainSimplify (ZPolyhedron *ZDom)
ZPolyhedronSplitZpolyhedron (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 272 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 321 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 357 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 341 of file Zpolyhedron.c.

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

Referenced by ZDomainPrint().


Generated on Wed Jul 2 16:22:48 2008 for polylib by  doxygen 1.5.6