#include <gmp.h>
#include <limits.h>
Go to the source code of this file.
Classes | |
struct | Vector |
struct | matrix |
struct | polyhedron |
struct | interval |
struct | _Param_Vertex |
struct | _Param_Domain |
struct | _Param_Polyhedron |
struct | _evalue |
struct | _enode |
struct | _enumeration |
struct | LatticeUnion |
struct | ZPolyhedron |
Defines | |
#define | FIRST_PARAMETER_NAME 'P' |
#define | PCHAR (FIRST_PARAMETER_NAME-1) |
#define | MAXNOOFRAYS 200 |
#define | P_VALUE_FMT "%4s " |
#define | LB_INFINITY 1 |
#define | UB_INFINITY 2 |
#define | MSB ((unsigned)(((unsigned)1)<<(sizeof(int)*8-1))) |
#define | TOP ((int)(MSB-1)) |
#define | NEXT(j, b) { if (!((b)>>=1)) { (b)=MSB; (j)++; } } |
#define | POL_HIGH_BIT (UINT_MAX - (UINT_MAX >> 1)) |
#define | POL_NO_DUAL (POL_HIGH_BIT | 0x0001) |
#define | POL_INTEGER (POL_HIGH_BIT | 0x0002) |
#define | POL_ISSET(flags, f) ((flags & f) == f) |
#define | FL_INIT(l, f) (l) = (f) |
#define | FL_SET(l, f) ((l) |= (f)) |
#define | FL_CLR(l, f) ((l) &= ~(f)) |
#define | FL_ISSET(l, f) ((l) & (f)) |
#define | F_INIT(p, f) FL_INIT((p)->flags, f) |
#define | F_SET(p, f) FL_SET((p)->flags, f) |
#define | F_CLR(p, f) FL_CLR((p)->flags, f) |
#define | F_ISSET(p, f) FL_ISSET((p)->flags, f) |
#define | POL_INEQUALITIES 0x00000001 |
#define | POL_FACETS 0x00000002 |
#define | POL_POINTS 0x00000004 |
#define | POL_VERTICES 0x00000008 |
#define | POL_VALID 0x00000010 |
#define | emptyQ(P) |
#define | universeQ(P) (P->Dimension==P->NbBid) |
#define | FORALL_PVertex_in_ParamPolyhedron(_V, _D, _P) |
#define | END_FORALL_PVertex_in_ParamPolyhedron |
#define | POLY_UNION_OR_STRUCT union |
#define | FOREVER for(;;) |
Typedefs | |
typedef struct matrix | Matrix |
typedef struct polyhedron | Polyhedron |
typedef struct interval | Interval |
typedef struct _Param_Vertex | Param_Vertices |
typedef struct _Param_Domain | Param_Domain |
typedef struct _Param_Polyhedron | Param_Polyhedron |
typedef struct _evalue | evalue |
typedef struct _enode | enode |
typedef struct _enumeration | Enumeration |
typedef Matrix | Lattice |
Enumerations | |
enum | enode_type { polynomial, periodic, evector } |
enum | Bool { False = 0, True = 1 } |
Variables | |
int | Pol_status |
#define emptyQ | ( | P | ) |
((F_ISSET(P, POL_INEQUALITIES) && P->NbEq > P->Dimension) || \ (F_ISSET(P, POL_POINTS) && P->NbRays == 0))
Definition at line 134 of file types.h.
Referenced by Add_CEqualities(), AddPolyToDomain(), Compute_PDomains(), count_points(), Disjoint_Domain(), Domain_Enumerate(), DomainConstraintSimplify(), DomainDifference(), DomainSimplify(), Ehrhart_Quick_Apx_Full_Dim(), eliminable_vars(), Enumerate_NoParameters(), Find_m_faces(), FindHermiteBasisofDomain(), FindSimple(), isEmptyZPolyhedron(), PDomainDifference(), Polyhedron2Param_Domain(), Polyhedron_Enumerate(), Polyhedron_Image_Enumerate(), Polyhedron_Preprocess(), PolyhedronLTQ(), SimplifyConstraints(), Stras_DomainSimplify(), ZDomainSimplify(), ZPolyhedronDifference(), ZPolyhedronImage(), ZPolyhedronIncludes(), ZPolyhedronIntersection(), and ZPolyhedronPreimage().
#define END_FORALL_PVertex_in_ParamPolyhedron |
Definition at line 106 of file types.h.
Referenced by p_simplify_constraints().
Definition at line 107 of file types.h.
Referenced by align_context(), Polyhedron_Compute_Dual(), and Polyhedron_Remove_parm_eqs().
Definition at line 105 of file types.h.
Referenced by Constraints2Polyhedron(), Empty_Polyhedron(), Remove_Redundants(), and Universe_Polyhedron().
#define FL_INIT | ( | l, | |||
f | ) | (l) = (f) |
Definition at line 99 of file types.h.
Referenced by Polyhedron_Remove_parm_eqs().
#define FORALL_PVertex_in_ParamPolyhedron | ( | _V, | |||
_D, | |||||
_P | ) |
#define LB_INFINITY 1 |
Definition at line 65 of file types.h.
Referenced by cherche_min(), lower_upper_bounds(), and P_Enum().
#define MAXNOOFRAYS 200 |
Definition at line 50 of file types.h.
Referenced by AddZPolytoZDomain(), CanonicalForm(), FindHermiteBasisofDomain(), IntegraliseLattice(), ZDomainSimplify(), ZPolyhedronDifference(), ZPolyhedronImage(), ZPolyhedronIncludes(), ZPolyhedronIntersection(), and ZPolyhedronPreimage().
#define MSB ((unsigned)(((unsigned)1)<<(sizeof(int)*8-1))) |
Definition at line 70 of file types.h.
Referenced by addToFilter(), BuildSat(), Chernikova(), Compute_PDomains(), DomainSimplify(), FindSimple(), int_array2bit_vector(), Poly2Sat(), Remove_Redundants(), Scan_Vertices(), SimplifyEqualities(), Stras_DomainSimplify(), traite_m_face(), and TransformSat().
#define NEXT | ( | j, | |||
b | ) | { if (!((b)>>=1)) { (b)=MSB; (j)++; } } |
Definition at line 76 of file types.h.
Referenced by addToFilter(), BuildSat(), Chernikova(), Compute_PDomains(), DomainSimplify(), FindSimple(), int_array2bit_vector(), Poly2Sat(), Remove_Redundants(), Scan_Vertices(), SimplifyEqualities(), Stras_DomainSimplify(), traite_m_face(), and TransformSat().
#define P_VALUE_FMT "%4s " |
Definition at line 61 of file types.h.
Referenced by AffConstraints(), AffContraintes(), check_poly(), cherche_min(), Chernikova(), Compute_PDomains(), ComputeNPLinesRays(), count_points(), Ehrhart_Quick_Apx_Full_Dim(), Elim_Columns(), Enumerate_NoParameters(), Find_m_faces(), main(), Matrix_Print(), P_Enum(), Polyhedron_Enumerate(), Polyhedron_Image_Enumerate(), Polyhedron_Preprocess(), Polyhedron_Preprocess2(), PolyhedronLTQ(), PreElim_Columns(), scan_m_face(), test_Constraints_fullDimensionize(), traite_m_face(), and Vector_Print().
#define PCHAR (FIRST_PARAMETER_NAME-1) |
Definition at line 49 of file types.h.
Referenced by Read_ParamNames().
#define POL_FACETS 0x00000002 |
Definition at line 117 of file types.h.
Referenced by Empty_Polyhedron(), p_simplify_constraints(), Polyhedron_Compute_Dual(), Remove_Redundants(), and Universe_Polyhedron().
#define POL_INEQUALITIES 0x00000001 |
Definition at line 116 of file types.h.
Referenced by align_context(), Constraints2Polyhedron(), Empty_Polyhedron(), Polyhedron_Compute_Dual(), Polyhedron_Remove_parm_eqs(), Remove_Redundants(), and Universe_Polyhedron().
#define POL_INTEGER (POL_HIGH_BIT | 0x0002) |
Definition at line 83 of file types.h.
Referenced by Constraints2Polyhedron().
#define POL_ISSET | ( | flags, | |||
f | ) | ((flags & f) == f) |
Definition at line 84 of file types.h.
Referenced by AddConstraints(), AddRays(), Constraints2Polyhedron(), p_simplify_constraints(), Polyhedron_Enumerate(), Rays2Polyhedron(), SimplifyConstraints(), and SubConstraint().
#define POL_NO_DUAL (POL_HIGH_BIT | 0x0001) |
Definition at line 82 of file types.h.
Referenced by AddConstraints(), AddRays(), Constraints2Polyhedron(), LexSmaller(), main(), p_simplify_constraints(), Polyhedron_Enumerate(), Polyhedron_Remove_parm_eqs(), Rays2Polyhedron(), SimplifyConstraints(), and SubConstraint().
#define POL_POINTS 0x00000004 |
Definition at line 118 of file types.h.
Referenced by align_context(), Empty_Polyhedron(), p_simplify_constraints(), Remove_Redundants(), and Universe_Polyhedron().
#define POL_VALID 0x00000010 |
Definition at line 123 of file types.h.
Referenced by align_context(), Constraints2Polyhedron(), Empty_Polyhedron(), Polyhedron_Compute_Dual(), Polyhedron_Remove_parm_eqs(), Remove_Redundants(), and Universe_Polyhedron().
#define POL_VERTICES 0x00000008 |
Definition at line 119 of file types.h.
Referenced by Empty_Polyhedron(), p_simplify_constraints(), Polyhedron_Compute_Dual(), Remove_Redundants(), and Universe_Polyhedron().
#define UB_INFINITY 2 |
Definition at line 66 of file types.h.
Referenced by cherche_min(), lower_upper_bounds(), and P_Enum().
typedef struct _enumeration Enumeration |
typedef struct _Param_Domain Param_Domain |
typedef struct _Param_Polyhedron Param_Polyhedron |
typedef struct _Param_Vertex Param_Vertices |
typedef struct polyhedron Polyhedron |
enum enode_type |
int Pol_status |
Definition at line 89 of file polyhedron.c.