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

types.h File Reference

#include <limits.h>

Go to the source code of this file.

Classes

struct  _enode
struct  _enumeration
struct  _evalue
struct  _Param_Domain
struct  _Param_Polyhedron
struct  _Param_Vertex
struct  interval
struct  LatticeUnion
struct  matrix
struct  polyhedron
struct  Vector
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 matrix Matrix
typedef polyhedron Polyhedron
typedef interval Interval
typedef _Param_Vertex Param_Vertices
typedef _Param_Domain Param_Domain
typedef _Param_Polyhedron Param_Polyhedron
typedef _evalue evalue
typedef _enode enode
typedef _enumeration Enumeration
typedef Matrix Lattice
typedef LatticeUnion LatticeUnion
typedef ZPolyhedron ZPolyhedron

Enumerations

enum  enode_type { polynomial, periodic, evector }
enum  Bool { False = 0, True = 1 }

Variables

int Pol_status


Define Documentation

#define emptyQ  ) 
 

Value:

((F_ISSET(P, POL_INEQUALITIES) && P->NbEq > P->Dimension) ||    \
         (F_ISSET(P, POL_POINTS) && P->NbRays == 0))

Definition at line 117 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
 

Value:

}                                \
              NEXT(_ix, _bx);                  \
      }                                        \
}

Definition at line 156 of file types.h.

Referenced by main().

#define F_CLR p,
 )     FL_CLR((p)->flags, f)
 

Definition at line 89 of file types.h.

Referenced by p_simplify_constraints().

#define F_INIT p,
 )     FL_INIT((p)->flags, f)
 

Definition at line 87 of file types.h.

#define F_ISSET p,
 )     FL_ISSET((p)->flags, f)
 

Definition at line 90 of file types.h.

Referenced by align_context(), Polyhedron_Compute_Dual(), and Polyhedron_Remove_parm_eqs().

#define F_SET p,
 )     FL_SET((p)->flags, f)
 

Definition at line 88 of file types.h.

Referenced by Constraints2Polyhedron(), Empty_Polyhedron(), Remove_Redundants(), and Universe_Polyhedron().

#define FIRST_PARAMETER_NAME   'P'
 

Definition at line 27 of file types.h.

#define FL_CLR l,
 )     ((l) &= ~(f))
 

Definition at line 84 of file types.h.

#define FL_INIT l,
 )     (l) = (f)
 

Definition at line 82 of file types.h.

Referenced by Polyhedron_Remove_parm_eqs().

#define FL_ISSET l,
 )     ((l) & (f))
 

Definition at line 85 of file types.h.

#define FL_SET l,
 )     ((l) |= (f))
 

Definition at line 83 of file types.h.

#define FORALL_PVertex_in_ParamPolyhedron _V,
_D,
_P   ) 
 

Value:

{     int _i, _ix;                                   \
      unsigned _bx;                                  \
      for( _i=0, _ix=0, _bx=MSB, _V=_P->V ;            \
           _V && (_i<_P->nbV) ; _i++, _V=_V->next )      \
      {       if (_D->F[_ix] & _bx)                   \
              {

Definition at line 148 of file types.h.

Referenced by main().

#define FOREVER   for(;;)
 

Definition at line 231 of file types.h.

Referenced by main().

#define LB_INFINITY   1
 

Definition at line 48 of file types.h.

Referenced by cherche_min(), lower_upper_bounds(), and P_Enum().

#define MAXNOOFRAYS   200
 

Definition at line 33 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 53 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,
 )     { if (!((b)>>=1)) { (b)=MSB; (j)++; } }
 

Definition at line 59 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 44 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 32 of file types.h.

Referenced by Read_ParamNames().

#define POL_FACETS   0x00000002
 

Definition at line 100 of file types.h.

Referenced by Empty_Polyhedron(), p_simplify_constraints(), Polyhedron_Compute_Dual(), Remove_Redundants(), and Universe_Polyhedron().

#define POL_HIGH_BIT   (UINT_MAX - (UINT_MAX >> 1))
 

Definition at line 64 of file types.h.

#define POL_INEQUALITIES   0x00000001
 

Definition at line 99 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 66 of file types.h.

Referenced by Constraints2Polyhedron().

#define POL_ISSET flags,
 )     ((flags & f) == f)
 

Definition at line 67 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 65 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 101 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 106 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 102 of file types.h.

Referenced by Empty_Polyhedron(), p_simplify_constraints(), Polyhedron_Compute_Dual(), Remove_Redundants(), and Universe_Polyhedron().

#define POLY_UNION_OR_STRUCT   union
 

Definition at line 169 of file types.h.

#define TOP   ((int)(MSB-1))
 

Definition at line 56 of file types.h.

#define UB_INFINITY   2
 

Definition at line 49 of file types.h.

Referenced by cherche_min(), lower_upper_bounds(), and P_Enum().

#define universeQ  )     (P->Dimension==P->NbBid)
 

Definition at line 122 of file types.h.


Typedef Documentation

typedef struct _enode enode
 

Referenced by addeliminatedparams_evalue(), aep_evalue(), compute_enode(), dehomogenize_enode(), dehomogenize_periodic(), dehomogenize_polynomial(), eadd(), ecopy(), edot(), eequal(), emul(), free_evalue_refs(), new_eadd(), new_enode(), P_Enum(), print_enode(), and reduce_evalue().

typedef struct _enumeration Enumeration
 

Referenced by check_poly(), compute_poly(), Constraints_EhrhartQuickApx(), Degenerate(), dehomogenize_enumeration(), DMUnion(), Domain_Enumerate(), Ehrhart_Quick_Apx(), Ehrhart_Quick_Apx_Full_Dim(), Enumerate_NoParameters(), Enumeration_Free(), Enumeration_zero(), IncludeInRes(), main(), Polyhedron_Enumerate(), Polyhedron_Image_Enumerate(), Polyhedron_LexSmallerEnumerate(), Polyhedron_Ranking(), recurse(), Remove_Element(), Remove_RedundantDomains(), and test_Constraints_fullDimensionize().

typedef struct _evalue evalue
 

Referenced by addeliminatedparams_evalue(), aep_evalue(), compute_evalue(), dehomogenize_enode(), dehomogenize_evalue(), dehomogenize_periodic(), dehomogenize_polynomial(), eadd(), edot(), eequal(), emul(), evalue_div(), free_evalue_refs(), new_eadd(), new_enode(), print_evalue(), and reduce_evalue().

typedef struct interval Interval
 

Referenced by DomainCost().

typedef Matrix Lattice
 

Definition at line 218 of file types.h.

Referenced by AddLattice(), AddZPolytoZDomain(), AffineHermite(), AffinePartCompare(), AffinePartSort(), AffineSmith(), ChangeLatticeDimension(), EmptyLattice(), EmptyZPolyhedron(), ExtractLinearPart(), Homogenise(), IntegraliseLattice(), isEmptyLattice(), isLinear(), Lattice2LatticeUnion(), LatticeDifference(), LatticeImage(), LatticeIncludes(), LatticeIntersection(), LatticePreimage(), LinearPartCompare(), LinearPartSort(), MakeDioEqforInter(), sameAffinepart(), sameLattice(), SplitLattice(), SplitZpolyhedron(), ZDomainSimplify(), ZPolyhedron_Alloc(), ZPolyhedronIntersection(), and ZPolyhedronPreimage().

typedef struct LatticeUnion LatticeUnion
 

typedef struct matrix Matrix
 

Referenced by AddANullColumn(), AddANullRow(), AddConstraints(), addeliminatedparams_evalue(), AddLattice(), AddRays(), AddZPolytoZDomain(), affine_periods(), AffineHermite(), AffineSmith(), BuildSat(), CalcBase(), CanonicalForm(), Chernikova(), compress_parms(), ComputeNPLinesRays(), Constraints2Polyhedron(), Constraints_EhrhartQuickApx(), Constraints_fullDimensionize(), Constraints_permute(), Constraints_Remove_parm_eqs(), Constraints_removeElimCols(), constraintsView(), constraintsView_Free(), ConvertDarMattoPolMat(), ConvertPolMattoDarMat(), dehomogenize_polyhedron(), DomainAddConstraints(), DomainAddRays(), DomainImage(), DomainPreimage(), DomainSimplify(), Ehrhart_Quick_Apx(), Ehrhart_Quick_Apx_Full_Dim(), Elim_Columns(), eliminable_vars(), eliminate_var_with_constr(), EmptyZPolyhedron(), Enumerate_NoParameters(), Enumeration_zero(), Equalities_integerSolution(), Equalities_intModBasis(), Equalities_validityLattice(), ExchangeColumns(), ExchangeRows(), existepivot(), find_a_permutation(), Find_m_faces(), findHermiteBasis(), FindHermiteBasisofDomain(), FindSimple(), full_dimensionize(), Gauss(), GaussSimplify(), GenParamPolyhedron(), Hermite(), hermite(), Homogenise(), homogenize(), Identity(), Identity_Matrix(), ImplicitEqualities(), int_ker(), int_mod_basis(), isfulldim(), isinHnf(), isIntegral(), IsLattice(), Lattice2LatticeUnion(), Lattice_extractSubLattice(), LatticeDifference(), LatticeImage(), LatticeIncludes(), LatticeIntersection(), LatticePreimage(), left_hermite(), LexSmaller(), linearInter(), main(), MakeDioEqforInter(), MatInverse(), Matrix_Alloc(), Matrix_clone(), Matrix_Copy(), Matrix_copySubMatrix(), Matrix_Extend(), Matrix_Free(), Matrix_identity(), Matrix_Inverse(), Matrix_oppose(), Matrix_Print(), Matrix_Product(), Matrix_Read(), Matrix_Read_Input(), Matrix_subMatrix(), Matrix_Vector_Product(), mpolyhedron_compress_last_vars(), mpolyhedron_deflate(), mpolyhedron_eliminate_first_variables(), mpolyhedron_inflate(), mpolyhedron_permute(), mpolyhedron_simplify(), mtransformation_expand_left_to_dim(), mtransformation_inverse(), mtransformation_permute(), old_Polyhedron_Preprocess(), Orthogonal_Base(), P_Enum(), Param_Polyhedron_Scale_Integer(), Polyhedron2Constraints(), Polyhedron2Param_SimplifiedDomain(), Polyhedron2Rays(), Polyhedron_Compute_Dual(), Polyhedron_Enumerate(), Polyhedron_Image(), Polyhedron_Image_Enumerate(), Polyhedron_Preimage(), Polyhedron_Preprocess(), Polyhedron_Preprocess2(), Polyhedron_Remove_parm_eqs(), Polyhedron_Scan(), PolyhedronLTQ(), PreElim_Columns(), Print_Vertex(), PrintLatticeUnion(), PutColumnFirst(), PutColumnLast(), PutRowFirst(), PutRowLast(), rat_prodmat(), Rays2Polyhedron(), Rays_Mult(), Rays_Mult_Transpose(), RaySort(), RearrangeMatforSolveDio(), Recession_Cone(), Reduce_Matrix(), Remove_Redundants(), RemoveColumn(), RemoveNColumns(), RemoveRow(), right_hermite(), sameLattice(), SatMatrix_Extend(), Scan_Vertices(), SimplifyConstraints(), SimplifyEqualities(), Smith(), SolveDiophantine(), SortConstraints(), Soustraire_ligne(), split_constraints(), SplitLattice(), SplitZpolyhedron(), Stras_DomainSimplify(), SubConstraint(), swap_line(), test_Constraints_fullDimensionize(), test_Constraints_Remove_parm_eqs(), test_Polyhedron_Remove_parm_eqs(), TestRank(), traite_m_face(), TransformSat(), Transpose(), Union_Read(), valuesWithoutElim(), Vector_Matrix_Product(), VertexCT(), ZDomainImage(), ZDomainPreimage(), ZDomainSimplify(), ZPolyhedron_Free(), ZPolyhedronDifference(), ZPolyhedronImage(), ZPolyhedronIntersection(), ZPolyhedronPreimage(), and ZPolyhedronPrint().

typedef struct _Param_Domain Param_Domain
 

Referenced by Compute_PDomains(), Ehrhart_Quick_Apx_Full_Dim(), GenParamPolyhedron(), main(), Param_Domain_Free(), Polyhedron2Param_Domain(), Polyhedron_Enumerate(), Scan_Vertices(), and traite_m_face().

typedef struct _Param_Polyhedron Param_Polyhedron
 

Referenced by Ehrhart_Quick_Apx_Full_Dim(), Find_m_faces(), GenParamPolyhedron(), main(), Param_Polyhedron_Free(), Param_Polyhedron_Scale_Integer(), Polyhedron2Param_Domain(), Polyhedron2Param_SimplifiedDomain(), Polyhedron2Param_Vertices(), Polyhedron_Enumerate(), and Scan_Vertices().

typedef struct _Param_Vertex Param_Vertices
 

Referenced by Ehrhart_Quick_Apx_Full_Dim(), GenParamPolyhedron(), main(), Param_Polyhedron_Scale_Integer(), Param_Vertices_Free(), Param_Vertices_Print(), Scan_Vertices(), and traite_m_face().

typedef struct polyhedron Polyhedron
 

Referenced by Add_CEqualities(), AddConstraints(), AddPolyToDomain(), AddRays(), AddZPolytoZDomain(), AffConstraints(), AffContraintes(), align_context(), CanonicalForm(), check_poly(), cherche_min(), Compute_PDomains(), ComputeNPLinesRays(), Constraints2Polyhedron(), constraintsView(), count_points(), dehomogenize_enumeration(), dehomogenize_polyhedron(), Disjoint_Domain(), DMUnion(), Domain_Copy(), Domain_Enumerate(), Domain_Free(), Domain_PrintConstraints(), DomainAddConstraints(), DomainAddRays(), DomainConstraintSimplify(), DomainConvex(), DomainCost(), DomainDifference(), DomainImage(), DomainIntersection(), DomainPreimage(), DomainSimplify(), DomainUnion(), Ehrhart_Quick_Apx(), Ehrhart_Quick_Apx_Full_Dim(), Elim_Columns(), eliminable_vars(), Empty_Polyhedron(), EmptyZPolyhedron(), Enumerate_NoParameters(), Enumeration_zero(), exist_points(), Find_m_faces(), FindHermiteBasisofDomain(), FindSimple(), GenParamPolyhedron(), homogenize(), in_domain(), IncludeInRes(), IntegraliseLattice(), LexSmaller(), lower_upper_bounds(), main(), old_Polyhedron_Preprocess(), P_Enum(), p_simplify_constraints(), Param_Polyhedron_Scale_Integer(), Param_Vertices_Print(), PDomainDifference(), PDomainIntersection(), Poly2Sat(), Polyhedron2Constraints(), Polyhedron2Param_Domain(), Polyhedron2Param_SimplifiedDomain(), Polyhedron2Param_Vertices(), Polyhedron2Rays(), Polyhedron_Alloc(), Polyhedron_Compute_Dual(), Polyhedron_Copy(), Polyhedron_Enumerate(), Polyhedron_Free(), Polyhedron_Image(), Polyhedron_Image_Enumerate(), Polyhedron_LexSmallerEnumerate(), Polyhedron_Not_Empty(), Polyhedron_Preimage(), Polyhedron_Preprocess(), Polyhedron_Preprocess2(), Polyhedron_Print(), Polyhedron_PrintConstraints(), Polyhedron_Ranking(), Polyhedron_Remove_parm_eqs(), Polyhedron_Scan(), PolyhedronIncludes(), PolyhedronLTQ(), PolyhedronTSort(), PolyPrint(), PreElim_Columns(), Print_Domain(), Rays2Polyhedron(), Recession_Cone(), recurse(), Remove_Redundants(), scan_m_face(), SimplifyConstraints(), SimplifyEqualities(), Stras_DomainSimplify(), SubConstraint(), test_Constraints_fullDimensionize(), test_Constraints_Remove_parm_eqs(), test_Polyhedron_Remove_parm_eqs(), traite_m_face(), Union_Read(), Universe_Polyhedron(), ZDomainSimplify(), ZPolyhedron_Alloc(), ZPolyhedronDifference(), ZPolyhedronImage(), ZPolyhedronIncludes(), ZPolyhedronIntersection(), and ZPolyhedronPreimage().

typedef struct ZPolyhedron ZPolyhedron
 


Enumeration Type Documentation

enum Bool
 

Enumeration values:
False 
True 

Definition at line 217 of file types.h.

Referenced by AddZPolytoZDomain(), AffineHermite(), AffinePartSimplify(), AlmostSameAffinePart(), isEmptyLattice(), isEmptyZPolyhedron(), isfulldim(), isinHnf(), isIntegral(), IsLattice(), isLinear(), LatticeIncludes(), LatticeSimplify(), RearrangeMatforSolveDio(), sameAffinepart(), sameLattice(), SameLinearPart(), Simplify(), ZDomainIncludes(), ZDomainSimplify(), ZPolyhedronDifference(), and ZPolyhedronIncludes().

enum enode_type
 

Enumeration values:
polynomial 
periodic 
evector 

Definition at line 164 of file types.h.


Variable Documentation

int Pol_status
 

Definition at line 62 of file types.h.


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