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

polyparam.h File Reference

Go to the source code of this file.

Functions

void Compute_PDomains (Param_Domain *PD, int nb_domains, int working_space)
Param_PolyhedronGenParamPolyhedron (Polyhedron *Pol, Matrix *Rays)
void Param_Domain_Free (Param_Domain *PD)
void Param_Polyhedron_Free (Param_Polyhedron *P)
void Param_Vertices_Free (Param_Vertices *PV)
void Param_Vertices_Print (FILE *DST, Param_Vertices *PV, const char **param_names)
PolyhedronPDomainDifference (Polyhedron *Pol1, Polyhedron *Pol2, unsigned NbMaxRays)
PolyhedronPDomainIntersection (Polyhedron *Pol1, Polyhedron *Pol2, unsigned NbMaxRays)
Param_PolyhedronPolyhedron2Param_Domain (Polyhedron *Din, Polyhedron *Cin, int working_space)
Param_PolyhedronPolyhedron2Param_SimplifiedDomain (Polyhedron **Din, Polyhedron *Cin, int working_space, Polyhedron **CEq, Matrix **CT)
Param_PolyhedronPolyhedron2Param_Vertices (Polyhedron *Din, Polyhedron *Cin, int working_space)
void Print_Domain (FILE *DST, Polyhedron *D, const char **param_names)
void Print_Vertex (FILE *DST, Matrix *V, const char **param_names)
MatrixVertexCT (Matrix *V, Matrix *CT)
void Param_Polyhedron_Scale_Integer (Param_Polyhedron *PP, Polyhedron **P, Value *det, unsigned MaxRays)


Function Documentation

void Compute_PDomains Param_Domain PD,
int  nb_domains,
int  working_space
 

Definition at line 1349 of file polyparam.c.

References _Param_Domain::Domain, Domain_Free(), DomainConvex(), emptyQ, _Param_Domain::F, MSB, polyhedron::NbEq, NEXT, _Param_Domain::next, P_VALUE_FMT, Param_Domain, PDomainDifference(), PDomainIntersection(), Polyhedron, and Polyhedron_Print().

Referenced by Polyhedron2Param_Domain(), and Polyhedron2Param_SimplifiedDomain().

Param_Polyhedron* GenParamPolyhedron Polyhedron Pol,
Matrix Rays
 

Definition at line 792 of file polyparam.c.

References _Param_Polyhedron::Constraints, _Param_Polyhedron::D, polyhedron::Dimension, _Param_Domain::Domain, _Param_Vertex::Domain, _Param_Domain::F, _Param_Vertex::Facets, Matrix, Matrix_Alloc(), polyhedron::NbRays, _Param_Polyhedron::nbV, _Param_Domain::next, _Param_Vertex::next, matrix::p, Param_Domain, Param_Polyhedron, Param_Vertices, Polyhedron, Polyhedron2Constraints(), polyhedron::Ray, _Param_Polyhedron::Rays, size, Universe_Polyhedron(), _Param_Polyhedron::V, value_assign, value_notone_p, value_set_si, value_zero_p, and _Param_Vertex::Vertex.

Referenced by Find_m_faces().

void Param_Domain_Free Param_Domain PD  ) 
 

Definition at line 1846 of file polyparam.c.

References _Param_Domain::Domain, Domain_Free(), _Param_Domain::F, _Param_Domain::next, and Param_Domain.

Referenced by Param_Polyhedron_Free().

void Param_Polyhedron_Free Param_Polyhedron P  ) 
 

Definition at line 1863 of file polyparam.c.

References _Param_Polyhedron::Constraints, _Param_Polyhedron::D, Matrix_Free(), Param_Domain_Free(), Param_Polyhedron, Param_Vertices_Free(), _Param_Polyhedron::Rays, and _Param_Polyhedron::V.

Referenced by main(), and Polyhedron_Enumerate().

void Param_Polyhedron_Scale_Integer Param_Polyhedron PP,
Polyhedron **  P,
Value *  det,
unsigned  MaxRays
 

Definition at line 1879 of file polyparam.c.

References _Param_Polyhedron::D, polyhedron::Dimension, _Param_Domain::Domain, Matrix, Matrix_Alloc(), Matrix_Free(), matrix::NbRows, _Param_Polyhedron::nbV, _Param_Vertex::next, matrix::p, Vector::p, Param_Polyhedron, Param_Vertices, Polyhedron, Polyhedron_Preimage(), _Param_Polyhedron::V, value_assign, value_clear, value_division, value_init, value_lcm, value_multiply, value_set_si, Vector_Alloc(), Vector_Free(), Vector_Normalize(), Vector_Scale(), and _Param_Vertex::Vertex.

Referenced by Ehrhart_Quick_Apx_Full_Dim().

void Param_Vertices_Free Param_Vertices PV  ) 
 

Definition at line 1560 of file polyparam.c.

References _Param_Vertex::Domain, _Param_Vertex::Facets, Matrix_Free(), _Param_Vertex::next, Param_Vertices, and _Param_Vertex::Vertex.

Referenced by Param_Polyhedron_Free(), and Polyhedron_Enumerate().

void Param_Vertices_Print FILE *  DST,
Param_Vertices PV,
const char **  param_names
 

Definition at line 1729 of file polyparam.c.

References Constraints2Polyhedron(), _Param_Vertex::Domain, Domain_Free(), _Param_Vertex::next, Param_Vertices, Polyhedron, Print_Domain(), Print_Vertex(), and _Param_Vertex::Vertex.

Referenced by main().

Polyhedron* PDomainDifference Polyhedron Pol1,
Polyhedron Pol2,
unsigned  NbMaxRays
 

Definition at line 86 of file polyparam.c.

References AddPolyToDomain(), polyhedron::Constraint, polyhedron::Dimension, Domain_Free(), emptyQ, polyhedron::NbConstraints, polyhedron::NbEq, polyhedron::next, POL_ENSURE_FACETS, POL_ENSURE_VERTICES, Polyhedron, Polyhedron_Free(), and SubConstraint().

Referenced by Compute_PDomains().

Polyhedron* PDomainIntersection Polyhedron Pol1,
Polyhedron Pol2,
unsigned  NbMaxRays
 

Definition at line 45 of file polyparam.c.

References AddConstraints(), AddPolyToDomain(), polyhedron::Constraint, polyhedron::Dimension, polyhedron::NbConstraints, polyhedron::NbEq, polyhedron::next, POL_ENSURE_FACETS, POL_ENSURE_VERTICES, Polyhedron, and Polyhedron_Free().

Referenced by Compute_PDomains().

Param_Polyhedron* Polyhedron2Param_Domain Polyhedron Din,
Polyhedron Cin,
int  working_space
 

Definition at line 1754 of file polyparam.c.

References Add_CEqualities(), CEqualities, Compute_PDomains(), _Param_Polyhedron::D, polyhedron::Dimension, _Param_Domain::Domain, emptyQ, Find_m_faces(), _Param_Polyhedron::nbV, _Param_Domain::next, Param_Domain, Param_Polyhedron, POL_ENSURE_FACETS, POL_ENSURE_VERTICES, Polyhedron, and Polyhedron_Free().

Referenced by main().

Param_Polyhedron* Polyhedron2Param_SimplifiedDomain Polyhedron **  Din,
Polyhedron Cin,
int  working_space,
Polyhedron **  CEq,
Matrix **  CT
 

Definition at line 1799 of file polyparam.c.

References assert, Compute_PDomains(), _Param_Polyhedron::D, polyhedron::Dimension, Find_m_faces(), Matrix, _Param_Polyhedron::nbV, Param_Polyhedron, POL_ENSURE_FACETS, POL_ENSURE_VERTICES, and Polyhedron.

Referenced by Ehrhart_Quick_Apx_Full_Dim(), and Polyhedron_Enumerate().

Param_Polyhedron* Polyhedron2Param_Vertices Polyhedron Din,
Polyhedron Cin,
int  working_space
 

Definition at line 1529 of file polyparam.c.

References Find_m_faces(), _Param_Polyhedron::nbV, Param_Polyhedron, POL_ENSURE_FACETS, POL_ENSURE_VERTICES, and Polyhedron.

Referenced by main().

void Print_Domain FILE *  DST,
Polyhedron D,
const char **  param_names
 

Definition at line 1676 of file polyparam.c.

References polyhedron::Constraint, polyhedron::Dimension, polyhedron::NbConstraints, polyhedron::next, POL_ENSURE_FACETS, POL_ENSURE_VERTICES, Polyhedron, value_mone_p, value_notzero_p, value_one_p, value_pos_p, and value_print.

Referenced by compute_poly(), Ehrhart_Quick_Apx_Full_Dim(), Enumerate_NoParameters(), main(), Param_Vertices_Print(), and Polyhedron_Enumerate().

void Print_Vertex FILE *  DST,
Matrix V,
const char **  param_names
 

Definition at line 1577 of file polyparam.c.

References Matrix, matrix::NbColumns, matrix::NbRows, matrix::p, value_clear, value_divexact, value_gcd, value_init, value_mone_p, value_notone_p, value_notzero_p, value_posz_p, and value_print.

Referenced by main(), Param_Vertices_Print(), and Scan_Vertices().

Matrix* VertexCT Matrix V,
Matrix CT
 

Definition at line 1646 of file polyparam.c.

References Matrix, Matrix_Alloc(), matrix::NbColumns, matrix::NbRows, matrix::p, value_assign, value_notzero_p, and value_set_si.

Referenced by Scan_Vertices().


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