Go to the source code of this file.
void Compute_PDomains | ( | Param_Domain * | PD, | |
int | nb_domains, | |||
int | working_space | |||
) |
Definition at line 1366 of file polyparam.c.
References _Param_Domain::Domain, Domain_Free(), DomainConvex(), emptyQ, _Param_Domain::F, MSB, polyhedron::NbEq, polyhedron::next, NEXT, _Param_Domain::next, P_VALUE_FMT, PDomainDifference(), PDomainIntersection(), and Polyhedron_Print().
Referenced by Polyhedron2Param_Domain(), and Polyhedron2Param_SimplifiedDomain().
Param_Polyhedron* GenParamPolyhedron | ( | Polyhedron * | Pol, | |
Matrix * | Rays | |||
) |
Definition at line 809 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_Alloc(), polyhedron::NbRays, _Param_Polyhedron::nbV, _Param_Domain::next, _Param_Vertex::next, matrix::p, 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 1863 of file polyparam.c.
References _Param_Domain::Domain, Domain_Free(), _Param_Domain::F, and _Param_Domain::next.
Referenced by Param_Polyhedron_Free().
void Param_Polyhedron_Free | ( | Param_Polyhedron * | P | ) |
Definition at line 1880 of file polyparam.c.
References _Param_Polyhedron::Constraints, _Param_Polyhedron::D, Matrix_Free(), Param_Domain_Free(), 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 1896 of file polyparam.c.
References _Param_Polyhedron::D, polyhedron::Dimension, _Param_Domain::Domain, Matrix_Alloc(), Matrix_Free(), matrix::NbRows, _Param_Polyhedron::nbV, _Param_Vertex::next, matrix::p, Vector::p, 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 1577 of file polyparam.c.
References _Param_Vertex::Domain, _Param_Vertex::Facets, Matrix_Free(), _Param_Vertex::next, 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 1746 of file polyparam.c.
References Constraints2Polyhedron(), _Param_Vertex::Domain, Domain_Free(), _Param_Vertex::next, Print_Domain(), Print_Vertex(), and _Param_Vertex::Vertex.
Referenced by main().
Polyhedron* PDomainDifference | ( | Polyhedron * | Pol1, | |
Polyhedron * | Pol2, | |||
unsigned | NbMaxRays | |||
) |
Definition at line 103 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_Free(), and SubConstraint().
Referenced by Compute_PDomains().
Polyhedron* PDomainIntersection | ( | Polyhedron * | Pol1, | |
Polyhedron * | Pol2, | |||
unsigned | NbMaxRays | |||
) |
Definition at line 62 of file polyparam.c.
References AddConstraints(), AddPolyToDomain(), polyhedron::Constraint, polyhedron::Dimension, polyhedron::NbConstraints, polyhedron::NbEq, polyhedron::next, POL_ENSURE_FACETS, POL_ENSURE_VERTICES, and Polyhedron_Free().
Referenced by Compute_PDomains().
Param_Polyhedron* Polyhedron2Param_Domain | ( | Polyhedron * | Din, | |
Polyhedron * | Cin, | |||
int | working_space | |||
) |
Definition at line 1771 of file polyparam.c.
References Add_CEqualities(), Compute_PDomains(), _Param_Polyhedron::D, polyhedron::Dimension, _Param_Domain::Domain, emptyQ, Find_m_faces(), _Param_Polyhedron::nbV, _Param_Domain::next, POL_ENSURE_FACETS, POL_ENSURE_VERTICES, and Polyhedron_Free().
Referenced by main().
Param_Polyhedron* Polyhedron2Param_SimplifiedDomain | ( | Polyhedron ** | Din, | |
Polyhedron * | Cin, | |||
int | working_space, | |||
Polyhedron ** | CEq, | |||
Matrix ** | CT | |||
) |
Definition at line 1816 of file polyparam.c.
References assert, Compute_PDomains(), _Param_Polyhedron::D, polyhedron::Dimension, Find_m_faces(), _Param_Polyhedron::nbV, POL_ENSURE_FACETS, and POL_ENSURE_VERTICES.
Referenced by Ehrhart_Quick_Apx_Full_Dim(), and Polyhedron_Enumerate().
Param_Polyhedron* Polyhedron2Param_Vertices | ( | Polyhedron * | Din, | |
Polyhedron * | Cin, | |||
int | working_space | |||
) |
Definition at line 1546 of file polyparam.c.
References Find_m_faces(), _Param_Polyhedron::nbV, POL_ENSURE_FACETS, and POL_ENSURE_VERTICES.
Referenced by main().
void Print_Domain | ( | FILE * | DST, | |
Polyhedron * | D, | |||
const char ** | param_names | |||
) |
Definition at line 1693 of file polyparam.c.
References polyhedron::Constraint, polyhedron::Dimension, polyhedron::NbConstraints, polyhedron::next, POL_ENSURE_FACETS, POL_ENSURE_VERTICES, Print_Domain(), 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(), Polyhedron_Enumerate(), and Print_Domain().
void Print_Vertex | ( | FILE * | DST, | |
Matrix * | V, | |||
const char ** | param_names | |||
) |
Definition at line 1594 of file polyparam.c.
References 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().
Definition at line 1663 of file polyparam.c.
References Matrix_Alloc(), matrix::NbColumns, matrix::NbRows, matrix::p, value_assign, value_notzero_p, and value_set_si.
Referenced by Scan_Vertices().