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

types.h File Reference

#include <gmp.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 emptyQ(P)   (P->NbRays==0)
#define universeQ(P)   (P->Dimension==P->NbLines)
#define FORALL_PVertex_in_ParamPolyhedron(_V, _D, _P)
#define END_FORALL_PVertex_in_ParamPolyhedron
#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  )     (P->NbRays==0)
 

Definition at line 90 of file types.h.

Referenced by Add_CEqualities(), AddPolyToDomain(), Compute_PDomains(), count_points(), Disjoint_Domain(), Domain_Enumerate(), DomainDifference(), DomainSimplify(), Enumerate_NoParameters(), Find_m_faces(), FindHermiteBasisofDomain(), FindSimple(), isEmptyZPolyhedron(), PDomainDifference(), 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 124 of file types.h.

Referenced by main().

#define FIRST_PARAMETER_NAME   'P'
 

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

Referenced by main().

#define FOREVER   for(;;)
 

Definition at line 193 of file types.h.

Referenced by main().

#define LB_INFINITY   1
 

Definition at line 46 of file types.h.

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

#define MAXNOOFRAYS   200
 

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

Referenced by addToFilter(), BuildSat(), Chernikova(), Compute_PDomains(), DomainSimplify(), FindSimple(), 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 57 of file types.h.

Referenced by addToFilter(), BuildSat(), Chernikova(), Compute_PDomains(), DomainSimplify(), FindSimple(), Poly2Sat(), Remove_Redundants(), Scan_Vertices(), SimplifyEqualities(), Stras_DomainSimplify(), traite_m_face(), and TransformSat().

#define P_VALUE_FMT   "%4s"
 

Definition at line 42 of file types.h.

Referenced by AffConstraints(), AffContraintes(), check_poly(), cherche_min(), Chernikova(), Compute_PDomains(), count_points(), 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(), traite_m_face(), and Vector_Print().

#define PCHAR   (FIRST_PARAMETER_NAME-1)
 

Definition at line 30 of file types.h.

Referenced by Read_ParamNames().

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

Definition at line 54 of file types.h.

#define UB_INFINITY   2
 

Definition at line 47 of file types.h.

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

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

Definition at line 93 of file types.h.


Typedef Documentation

typedef struct _enode enode
 

Referenced by addeliminatedparams_evalue(), aep_evalue(), compute_enode(), 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(), Degenerate(), DMUnion(), Domain_Enumerate(), Enumerate_NoParameters(), Enumeration_Free(), IncludeInRes(), main(), Polyhedron_Enumerate(), Polyhedron_Image_Enumerate(), Remove_Element(), and Remove_RedundantDomains().

typedef struct _evalue evalue
 

Referenced by addeliminatedparams_evalue(), aep_evalue(), compute_evalue(), Domain_Enumerate(), eadd(), edot(), eequal(), emul(), 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 180 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(), AffineHermite(), AffineSmith(), align_context(), BuildSat(), CalcBase(), CanonicalForm(), Chernikova(), Constraints2Polyhedron(), ConvertDarMattoPolMat(), ConvertPolMattoDarMat(), DomainAddConstraints(), DomainAddRays(), DomainImage(), DomainPreimage(), DomainSimplify(), Elim_Columns(), EmptyZPolyhedron(), Enumerate_NoParameters(), ExchangeColumns(), ExchangeRows(), existepivot(), Find_m_faces(), findHermiteBasis(), FindHermiteBasisofDomain(), FindSimple(), Gauss(), GaussSimplify(), GenParamPolyhedron(), Hermite(), hermite(), Homogenise(), Identity(), isfulldim(), isinHnf(), isIntegral(), IsLattice(), Lattice2LatticeUnion(), LatticeDifference(), LatticeImage(), LatticeIncludes(), LatticeIntersection(), LatticePreimage(), left_hermite(), main(), MakeDioEqforInter(), MatInverse(), Matrix_Alloc(), Matrix_Copy(), Matrix_Extend(), Matrix_Free(), Matrix_Inverse(), Matrix_Print(), Matrix_Product(), Matrix_Read(), Matrix_Read_Input(), Matrix_Vector_Product(), old_Polyhedron_Preprocess(), Orthogonal_Base(), P_Enum(), Polyhedron2Constraints(), Polyhedron2Param_SimplifiedDomain(), Polyhedron2Rays(), Polyhedron_Enumerate(), Polyhedron_Image(), Polyhedron_Image_Enumerate(), Polyhedron_Preimage(), Polyhedron_Preprocess(), Polyhedron_Preprocess2(), Polyhedron_Scan(), PolyhedronLTQ(), PreElim_Columns(), Print_Vertex(), PrintLatticeUnion(), PutColumnFirst(), PutColumnLast(), PutRowFirst(), PutRowLast(), rat_prodmat(), Rays2Polyhedron(), Rays_Mult(), Rays_Mult_Transpose(), RaySort(), RearrangeMatforSolveDio(), Reduce_Matrix(), Remove_Redundants(), RemoveColumn(), RemoveRow(), right_hermite(), sameLattice(), SatMatrix_Extend(), Scan_Vertices(), SimplifyConstraints(), SimplifyEqualities(), Smith(), SolveDiophantine(), Soustraire_ligne(), SplitLattice(), SplitZpolyhedron(), Stras_DomainSimplify(), SubConstraint(), swap_line(), TestRank(), traite_m_face(), TransformSat(), Transpose(), Union_Read(), 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(), GenParamPolyhedron(), main(), Param_Domain_Free(), Polyhedron2Param_Domain(), Polyhedron_Enumerate(), Scan_Vertices(), and traite_m_face().

typedef struct _Param_Polyhedron Param_Polyhedron
 

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

typedef struct _Param_Vertex Param_Vertices
 

Referenced by GenParamPolyhedron(), main(), 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(), Constraints2Polyhedron(), count_points(), Disjoint_Domain(), DMUnion(), Domain_Copy(), Domain_Enumerate(), Domain_Free(), DomainAddConstraints(), DomainAddRays(), DomainConvex(), DomainCost(), DomainDifference(), DomainImage(), DomainIntersection(), DomainPreimage(), DomainSimplify(), DomainUnion(), Elim_Columns(), Empty_Polyhedron(), EmptyZPolyhedron(), Enumerate_NoParameters(), exist_points(), Find_m_faces(), FindHermiteBasisofDomain(), FindSimple(), GenParamPolyhedron(), in_domain(), IncludeInRes(), IntegraliseLattice(), lower_upper_bounds(), main(), old_Polyhedron_Preprocess(), P_Enum(), Param_Vertices_Print(), PDomainDifference(), PDomainIntersection(), Poly2Sat(), Polyhedron2Constraints(), Polyhedron2Param_Domain(), Polyhedron2Param_SimplifiedDomain(), Polyhedron2Param_Vertices(), Polyhedron2Rays(), Polyhedron_Alloc(), Polyhedron_Copy(), Polyhedron_Enumerate(), Polyhedron_Free(), Polyhedron_Image(), Polyhedron_Image_Enumerate(), Polyhedron_Not_Empty(), Polyhedron_Preimage(), Polyhedron_Preprocess(), Polyhedron_Preprocess2(), Polyhedron_Print(), Polyhedron_PrintConstraints(), Polyhedron_Scan(), PolyhedronIncludes(), PolyhedronLTQ(), PolyhedronTSort(), PolyPrint(), PreElim_Columns(), Print_Domain(), Rays2Polyhedron(), Remove_Redundants(), scan_m_face(), SimplifyConstraints(), SimplifyEqualities(), Stras_DomainSimplify(), SubConstraint(), 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 179 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 132 of file types.h.


Variable Documentation

int Pol_status
 

Definition at line 60 of file types.h.


Generated on Mon Sep 12 14:48:30 2005 for polylib by doxygen 1.3.5