Library Datatypes

Typedefs for the library datatypes and related symbolic constants. More...


Typedefs

typedef size_t ppl_dimension_type
 An unsigned integral type for representing space dimensions.
typedef const char * ppl_io_variable_output_function_type (ppl_dimension_type var)
 The type of output functions used for printing variables.
typedef struct
ppl_Coefficient_tag
ppl_Coefficient_t
 Opaque pointer.
typedef struct
ppl_Coefficient_tag const * 
ppl_const_Coefficient_t
 Opaque pointer to const object.
typedef struct
ppl_Linear_Expression_tag
ppl_Linear_Expression_t
 Opaque pointer.
typedef struct
ppl_Linear_Expression_tag
const * 
ppl_const_Linear_Expression_t
 Opaque pointer to const object.
typedef struct ppl_Constraint_tagppl_Constraint_t
 Opaque pointer.
typedef struct
ppl_Constraint_tag const * 
ppl_const_Constraint_t
 Opaque pointer to const object.
typedef struct
ppl_Constraint_System_tag
ppl_Constraint_System_t
 Opaque pointer.
typedef struct
ppl_Constraint_System_tag
const * 
ppl_const_Constraint_System_t
 Opaque pointer to const object.
typedef struct
ppl_Constraint_System_const_iterator_tag
ppl_Constraint_System_const_iterator_t
 Opaque pointer.
typedef struct
ppl_Constraint_System_const_iterator_tag
const * 
ppl_const_Constraint_System_const_iterator_t
 Opaque pointer to const object.
typedef struct ppl_Generator_tagppl_Generator_t
 Opaque pointer.
typedef struct
ppl_Generator_tag const * 
ppl_const_Generator_t
 Opaque pointer to const object.
typedef struct
ppl_Generator_System_tag
ppl_Generator_System_t
 Opaque pointer.
typedef struct
ppl_Generator_System_tag const * 
ppl_const_Generator_System_t
 Opaque pointer to const object.
typedef struct
ppl_Generator_System_const_iterator_tag
ppl_Generator_System_const_iterator_t
 Opaque pointer.
typedef struct
ppl_Generator_System_const_iterator_tag
const * 
ppl_const_Generator_System_const_iterator_t
 Opaque pointer to const object.
typedef struct ppl_Congruence_tagppl_Congruence_t
 Opaque pointer.
typedef struct
ppl_Congruence_tag const * 
ppl_const_Congruence_t
 Opaque pointer to const object.
typedef struct
ppl_Congruence_System_tag
ppl_Congruence_System_t
 Opaque pointer.
typedef struct
ppl_Congruence_System_tag
const * 
ppl_const_Congruence_System_t
 Opaque pointer to const object.
typedef struct
ppl_Congruence_System_const_iterator_tag
ppl_Congruence_System_const_iterator_t
 Opaque pointer.
typedef struct
ppl_Congruence_System_const_iterator_tag
const * 
ppl_const_Congruence_System_const_iterator_t
 Opaque pointer to const object.
typedef struct
ppl_Grid_Generator_tag
ppl_Grid_Generator_t
 Opaque pointer.
typedef struct
ppl_Grid_Generator_tag const * 
ppl_const_Grid_Generator_t
 Opaque pointer to const object.
typedef struct
ppl_Grid_Generator_System_tag
ppl_Grid_Generator_System_t
 Opaque pointer.
typedef struct
ppl_Grid_Generator_System_tag
const * 
ppl_const_Grid_Generator_System_t
 Opaque pointer to const object.
typedef struct
ppl_Grid_Generator_System_const_iterator_tag
ppl_Grid_Generator_System_const_iterator_t
 Opaque pointer.
typedef struct
ppl_Grid_Generator_System_const_iterator_tag
const * 
ppl_const_Grid_Generator_System_const_iterator_t
 Opaque pointer to const object.
typedef struct
ppl_MIP_Problem_tag
ppl_MIP_Problem_t
 Opaque pointer.
typedef struct
ppl_MIP_Problem_tag const * 
ppl_const_MIP_Problem_t
 Opaque pointer to const object.
typedef struct ppl_Polyhedron_tagppl_Polyhedron_t
 Opaque pointer.
typedef struct
ppl_Polyhedron_tag const * 
ppl_const_Polyhedron_t
 Opaque pointer to const object.
typedef struct
ppl_Pointset_Powerset_C_Polyhedron_tag
ppl_Pointset_Powerset_C_Polyhedron_t
 Opaque pointer.
typedef struct
ppl_Pointset_Powerset_C_Polyhedron_tag
const * 
ppl_const_Pointset_Powerset_C_Polyhedron_t
 Opaque pointer to const object.
typedef struct
ppl_Pointset_Powerset_C_Polyhedron_iterator_tag
ppl_Pointset_Powerset_C_Polyhedron_iterator_t
 Opaque pointer.
typedef struct
ppl_Pointset_Powerset_C_Polyhedron_iterator_tag
const * 
ppl_const_Pointset_Powerset_C_Polyhedron_iterator_t
 Opaque pointer to const object.
typedef struct
ppl_Pointset_Powerset_C_Polyhedron_const_iterator_tag
ppl_Pointset_Powerset_C_Polyhedron_const_iterator_t
 Opaque pointer.
typedef struct
ppl_Pointset_Powerset_C_Polyhedron_const_iterator_tag
const * 
ppl_const_Pointset_Powerset_C_Polyhedron_const_iterator_t
 Opaque pointer to const object.

Enumerations

enum  ppl_enum_Constraint_Type {
  PPL_CONSTRAINT_TYPE_LESS_THAN, PPL_CONSTRAINT_TYPE_LESS_OR_EQUAL, PPL_CONSTRAINT_TYPE_EQUAL, PPL_CONSTRAINT_TYPE_GREATER_OR_EQUAL,
  PPL_CONSTRAINT_TYPE_GREATER_THAN
}
 Describes the relations represented by a constraint. More...
enum  ppl_enum_Generator_Type { PPL_GENERATOR_TYPE_LINE, PPL_GENERATOR_TYPE_RAY, PPL_GENERATOR_TYPE_POINT, PPL_GENERATOR_TYPE_CLOSURE_POINT }
 Describes the different kinds of generators. More...
enum  ppl_enum_Grid_Generator_Type { PPL_GRID_GENERATOR_TYPE_LINE, PPL_GRID_GENERATOR_TYPE_PARAMETER, PPL_GRID_GENERATOR_TYPE_POINT }
 Describes the different kinds of grid generators. More...

Functions

int ppl_max_space_dimension (ppl_dimension_type *m)
 Writes to m the maximum space dimension this library can handle.
int ppl_not_a_dimension (ppl_dimension_type *m)
 Writes to m a value that does not designate a valid dimension.
int ppl_io_print_variable (ppl_dimension_type var)
 Pretty-prints var to stdout.
int ppl_io_fprint_variable (FILE *stream, ppl_dimension_type var)
 Pretty-prints var to the given output stream.
int ppl_io_set_variable_output_function (ppl_io_variable_output_function_type *p)
 Sets the output function to be used for printing variables to p.
int ppl_io_get_variable_output_function (ppl_io_variable_output_function_type **pp)
 Writes a pointer to the current variable output function to pp.

Variables

unsigned int PPL_COMPLEXITY_CLASS_POLYNOMIAL
 Code of the worst-case polynomial complexity class.
unsigned int PPL_COMPLEXITY_CLASS_SIMPLEX
 Code of the worst-case exponential but typically polynomial complexity class.
unsigned int PPL_COMPLEXITY_CLASS_ANY
 Code of the universal complexity class.
unsigned int PPL_POLY_CON_RELATION_IS_DISJOINT
 Individual bit saying that the polyhedron and the set of points satisfying the constraint are disjoint.
unsigned int PPL_POLY_CON_RELATION_STRICTLY_INTERSECTS
 Individual bit saying that the polyhedron intersects the set of points satisfying the constraint, but it is not included in it.
unsigned int PPL_POLY_CON_RELATION_IS_INCLUDED
 Individual bit saying that the polyhedron is included in the set of points satisfying the constraint.
unsigned int PPL_POLY_CON_RELATION_SATURATES
 Individual bit saying that the polyhedron is included in the set of points saturating the constraint.
unsigned int PPL_POLY_GEN_RELATION_SUBSUMES
 Individual bit saying that adding the generator would not change the polyhedron.


Detailed Description

Typedefs for the library datatypes and related symbolic constants.

The datatypes provided by the library should be manipulated by means of the corresponding opaque pointer types and the functions working on them.

Note:
To simplify the detection of common programming mistakes, we provide both pointer-to-const and pointer-to-nonconst opaque pointers, with implicit conversions mapping each pointer-to-nonconst to the corresponding pointer-to-const when needed. The user of the C interface is therefore recommended to adopt the pointer-to-const type whenever read-only access is meant.

Typedef Documentation

The type of output functions used for printing variables.

An output function for variables must write a textual representation for var to a character buffer, null-terminate it, and return a pointer to the beginning of the buffer. In case the operation fails, 0 should be returned and perhaps errno should be set in a meaningful way. The library does nothing with the buffer, besides printing its contents.


Enumeration Type Documentation

Describes the relations represented by a constraint.

Enumerator:
PPL_CONSTRAINT_TYPE_LESS_THAN  The constraint is of the form $e < 0$.
PPL_CONSTRAINT_TYPE_LESS_OR_EQUAL  The constraint is of the form $e \leq 0$.
PPL_CONSTRAINT_TYPE_EQUAL  The constraint is of the form $e = 0$.
PPL_CONSTRAINT_TYPE_GREATER_OR_EQUAL  The constraint is of the form $e \geq 0$.
PPL_CONSTRAINT_TYPE_GREATER_THAN  The constraint is of the form $e > 0$.

Describes the different kinds of generators.

Enumerator:
PPL_GENERATOR_TYPE_LINE  The generator is a line.
PPL_GENERATOR_TYPE_RAY  The generator is a ray.
PPL_GENERATOR_TYPE_POINT  The generator is a point.
PPL_GENERATOR_TYPE_CLOSURE_POINT  The generator is a closure point.

Describes the different kinds of grid generators.

Enumerator:
PPL_GRID_GENERATOR_TYPE_LINE  The grid generator is a line.
PPL_GRID_GENERATOR_TYPE_PARAMETER  The grid generator is a parameter.
PPL_GRID_GENERATOR_TYPE_POINT  The grid generator is a point.


Generated on Tue Nov 4 10:41:20 2008 for PPL C Language Interface by  doxygen 1.5.7.1-20081012