The core implementation of the Parma Polyhedra Library is written in C++.
|
Namespaces |
namespace | Parma_Polyhedra_Library |
| The entire library is confined to this namespace.
|
namespace | Parma_Polyhedra_Library::IO_Operators |
| All input/output operators are confined to this namespace.
|
namespace | Parma_Polyhedra_Library::Checked |
| Types and functions implementing checked numbers.
|
namespace | Parma_Polyhedra_Library::Implementation |
| Implementation related data and functions.
|
namespace | std |
| The standard C++ namespace.
|
Classes |
struct | Parma_Polyhedra_Library::float_ieee754_single |
struct | Parma_Polyhedra_Library::float_ieee754_double |
struct | Parma_Polyhedra_Library::float_intel_double_extended |
struct | Parma_Polyhedra_Library::float_ieee754_quad |
class | Parma_Polyhedra_Library::Float< T > |
struct | Parma_Polyhedra_Library::Checked_Number_Transparent_Policy |
struct | Parma_Polyhedra_Library::Checked_Number_Default_Policy |
struct | Parma_Polyhedra_Library::Extended_Number_Policy |
class | Parma_Polyhedra_Library::Checked_Number< T, Policy > |
| A wrapper for numeric types implementing a given policy. More...
|
struct | Parma_Polyhedra_Library::Coefficient_traits_template< GMP_Integer > |
| Coefficient traits specialization for unbounded integers. More...
|
struct | Parma_Polyhedra_Library::Coefficient_traits_template< Coefficient > |
| Coefficient traits. More...
|
struct | Parma_Polyhedra_Library::Checked::Check_Overflow_Policy |
| A policy checking for overflows. More...
|
class | Parma_Polyhedra_Library::Init |
| Class for initialization and finalization. More...
|
class | Parma_Polyhedra_Library::Coefficient_free_list_element |
| A node of the list of available coefficients. More...
|
class | Parma_Polyhedra_Library::Throwable |
| User objects the PPL can throw. More...
|
struct | Parma_Polyhedra_Library::From_Bounding_Box |
| A tag class. More...
|
struct | Parma_Polyhedra_Library::From_Covering_Box |
| A tag class. More...
|
class | Parma_Polyhedra_Library::Row_Impl_Handler |
| The handler of the actual Row implementation. More...
|
class | Parma_Polyhedra_Library::Row |
| A finite sequence of coefficients. More...
|
class | Parma_Polyhedra_Library::Row::Flags |
| Wrapper class to represent a set of flags with bits in a native unsigned integral type. More...
|
class | Parma_Polyhedra_Library::Row_Impl_Handler::Impl |
| The actual implementation of a Row object. More...
|
class | Parma_Polyhedra_Library::Matrix |
| A 2-dimensional matrix of coefficients. More...
|
class | Parma_Polyhedra_Library::Matrix::const_iterator |
| An iterator over a matrix. More...
|
class | Parma_Polyhedra_Library::Linear_Row |
| The base class for linear expressions, constraints and generators. More...
|
class | Parma_Polyhedra_Library::Linear_Row::Flags |
| The type of the object to which the coefficients refer to, encoding both topology and kind. More...
|
class | Parma_Polyhedra_Library::Linear_System |
| The base class for systems of constraints and generators. More...
|
struct | Parma_Polyhedra_Library::Linear_System::With_Pending |
| A tag class. More...
|
class | Parma_Polyhedra_Library::Linear_System::With_Saturation_Matrix_iterator |
| An iterator keeping a Linear_System consistent with a Saturation_Matrix. More...
|
class | Parma_Polyhedra_Library::Saturation_Row |
| A row of a saturation matrix. More...
|
class | Parma_Polyhedra_Library::Saturation_Matrix |
| A saturation matrix. More...
|
struct | Parma_Polyhedra_Library::Saturation_Matrix::Saturation_Row_Less_Than |
| Ordering predicate (used when implementing the sort algorithm). More...
|
class | Parma_Polyhedra_Library::Variable |
| A dimension of the vector space. More...
|
struct | Parma_Polyhedra_Library::Variable::Compare |
| Binary predicate defining the total ordering on variables. More...
|
class | Parma_Polyhedra_Library::Linear_Expression |
| A linear expression. More...
|
class | Parma_Polyhedra_Library::Constraint |
| A linear equality or inequality. More...
|
class | Parma_Polyhedra_Library::Congruence |
| A linear congruence. More...
|
class | Parma_Polyhedra_Library::Generator |
| A line, ray, point or closure point. More...
|
class | Parma_Polyhedra_Library::Grid_Generator |
| A line, parameter or point. More...
|
class | Parma_Polyhedra_Library::Constraint_System |
| A system of constraints. More...
|
class | Parma_Polyhedra_Library::Constraint_System::const_iterator |
| An iterator over a system of constraints. More...
|
class | Parma_Polyhedra_Library::Congruence_System |
| A system of congruences. More...
|
class | Parma_Polyhedra_Library::Congruence_System::const_iterator |
| An iterator over a system of congruences. More...
|
class | Parma_Polyhedra_Library::Generator_System |
| A system of generators. More...
|
class | Parma_Polyhedra_Library::Generator_System::const_iterator |
| An iterator over a system of generators. More...
|
class | Parma_Polyhedra_Library::Grid_Generator_System |
| A system of grid generators. More...
|
class | Parma_Polyhedra_Library::Grid_Generator_System::const_iterator |
| An iterator over a system of grid generators. More...
|
class | Parma_Polyhedra_Library::Scalar_Products |
| A class implementing various scalar product functions. More...
|
class | Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign |
| Scalar product sign function object depending on topology. More...
|
class | Status |
| A conjunctive assertion about a polyhedron. More...
|
class | Parma_Polyhedra_Library::Polyhedron |
| The base class for convex polyhedra. More...
|
class | Parma_Polyhedra_Library::Polyhedron::Status |
| A conjunctive assertion about a polyhedron. More...
|
class | Parma_Polyhedra_Library::Grid |
| A grid. More...
|
class | Parma_Polyhedra_Library::Poly_Con_Relation |
| The relation between a polyhedron and a constraint. More...
|
class | Parma_Polyhedra_Library::Poly_Gen_Relation |
| The relation between a polyhedron and a generator. More...
|
class | Parma_Polyhedra_Library::Boundary |
| An extended rational bound of an interval. More...
|
class | Parma_Polyhedra_Library::LBoundary |
| The lower bound of an extended rational interval. More...
|
class | Parma_Polyhedra_Library::UBoundary |
| The upper bound of an extended rational interval. More...
|
class | Parma_Polyhedra_Library::Interval |
| A interval over the set of rational numbers. More...
|
class | Parma_Polyhedra_Library::Bounding_Box |
| A not necessarily closed bounding-box. More...
|
class | Parma_Polyhedra_Library::C_Polyhedron |
| A closed convex polyhedron. More...
|
class | Parma_Polyhedra_Library::NNC_Polyhedron |
| A not necessarily closed convex polyhedron. More...
|
class | Parma_Polyhedra_Library::Widening_Function< PH > |
| Wraps a widening method into a function object. More...
|
class | Parma_Polyhedra_Library::Limited_Widening_Function< PH, CS > |
| Wraps a limited widening method into a function object. More...
|
class | Parma_Polyhedra_Library::BHRZ03_Certificate |
| The convergence certificate for the BHRZ03 widening operator. More...
|
struct | Parma_Polyhedra_Library::BHRZ03_Certificate::Compare |
| A total ordering on BHRZ03 certificates. More...
|
class | Parma_Polyhedra_Library::H79_Certificate |
| A convergence certificate for the H79 widening operator. More...
|
struct | Parma_Polyhedra_Library::H79_Certificate::Compare |
| A total ordering on H79 certificates. More...
|
class | Parma_Polyhedra_Library::Grid_Certificate |
| The convergence certificate for the Grid widening operator. More...
|
class | Parma_Polyhedra_Library::Determinate< PH > |
| Wraps a PPL class into a determinate constraint system interface. More...
|
class | Parma_Polyhedra_Library::Determinate< PH >::Binary_Operator_Assign_Lifter< Binary_Operator_Assign > |
| A function adapter for the Determinate class. More...
|
class | Parma_Polyhedra_Library::Determinate< PH >::Rep |
| The possibly shared representation of a Determinate object. More...
|
class | Parma_Polyhedra_Library::Powerset< D > |
| The powerset construction on a base-level domain. More...
|
class | Parma_Polyhedra_Library::Powerset< D >::omega_const_iterator |
| A const_iterator on the disjuncts of a Powerset element. More...
|
class | Parma_Polyhedra_Library::Powerset< D >::omega_iterator |
| An iterator on the disjuncts of a Powerset element. More...
|
class | Parma_Polyhedra_Library::Polyhedra_Powerset< PH > |
| The powerset construction instantiated on PPL polyhedra. More...
|
class | Parma_Polyhedra_Library::LP_Problem |
| A Linear Programming problem. More...
|
class | Parma_Polyhedra_Library::DB_Row_Impl_Handler< T > |
| The handler of the actual DB_Row implementation. More...
|
class | Parma_Polyhedra_Library::DB_Row< T > |
| The base class for the single rows of matrices. More...
|
class | Parma_Polyhedra_Library::DB_Row_Impl_Handler< T >::Impl |
| The real implementation of a DB_Row object. More...
|
class | Parma_Polyhedra_Library::DB_Matrix< T > |
| The base class for the square matrices. More...
|
class | Parma_Polyhedra_Library::DB_Matrix< T >::const_iterator |
| A read-only iterator over the rows of the matrix. More...
|
class | Parma_Polyhedra_Library::BD_Shape< T > |
| A bounded difference shape. More...
|
class | Parma_Polyhedra_Library::BD_Shape< T >::Status |
| A conjunctive assertion about a BD_Shape<T> object. More...
|
class | Parma_Polyhedra_Library::GMP_Integer |
| Unbounded integers as provided by the GMP library. More...
|
Defines |
#define | PPL_VERSION_MAJOR 0 |
| The major number of the PPL version.
|
#define | PPL_VERSION_MINOR 9 |
| The minor number of the PPL version.
|
#define | PPL_VERSION_REVISION 0 |
| The revision number of the PPL version.
|
#define | PPL_VERSION_BETA 0 |
| The beta number of the PPL version. This is zero for official releases and nonzero for development snapshots.
|
#define | PPL_VERSION "0.9" |
| A string containing the PPL version.
|
#define | EXTRA_ROW_DEBUG 0 |
| Enables extra debugging information for class Row.
|
#define | EXTRA_ROW_DEBUG 0 |
| When EXTRA_ROW_DEBUG evaluates to true , each instance of the class DB_Row carries its own capacity; this enables extra consistency checks to be performed.
|
Typedefs |
typedef COEFFICIENT_TYPE | Parma_Polyhedra_Library::Coefficient |
| An alias for easily naming the type of PPL coefficients.
|
typedef
Coefficient_traits_template
< Coefficient > | Parma_Polyhedra_Library::Coefficient_traits |
| An alias for easily naming the coefficient traits.
|
typedef size_t | Parma_Polyhedra_Library::dimension_type |
| An unsigned integral type for representing space dimensions.
|
typedef size_t | Parma_Polyhedra_Library::memory_size_type |
| An unsigned integral type for representing memory size in bytes.
|
typedef std::set< Variable,
Variable::Compare > | Parma_Polyhedra_Library::Variables_Set |
| An std::set containing variables in increasing order of dimension index.
|
Enumerations |
enum | Parma_Polyhedra_Library::Degenerate_Element { Parma_Polyhedra_Library::UNIVERSE,
Parma_Polyhedra_Library::EMPTY
} |
| Kinds of degenerate abstract elements. More...
|
enum | Parma_Polyhedra_Library::Relation_Symbol {
Parma_Polyhedra_Library::LESS_THAN,
Parma_Polyhedra_Library::LESS_THAN_OR_EQUAL,
Parma_Polyhedra_Library::EQUAL,
Parma_Polyhedra_Library::GREATER_THAN_OR_EQUAL,
Parma_Polyhedra_Library::GREATER_THAN
} |
| Relation symbols. More...
|
enum | Parma_Polyhedra_Library::Complexity_Class { Parma_Polyhedra_Library::POLYNOMIAL_COMPLEXITY,
Parma_Polyhedra_Library::SIMPLEX_COMPLEXITY,
Parma_Polyhedra_Library::ANY_COMPLEXITY
} |
| Complexity pseudo-classes. More...
|
enum | Parma_Polyhedra_Library::Optimization_Mode { Parma_Polyhedra_Library::MINIMIZATION,
Parma_Polyhedra_Library::MAXIMIZATION
} |
| Possible optimization modes. More...
|
enum | Parma_Polyhedra_Library::Topology { Parma_Polyhedra_Library::NECESSARILY_CLOSED = 0,
Parma_Polyhedra_Library::NOT_NECESSARILY_CLOSED = 1
} |
| Kinds of polyhedra domains. More...
|
enum | Parma_Polyhedra_Library::LP_Problem_Status { Parma_Polyhedra_Library::UNFEASIBLE_LP_PROBLEM,
Parma_Polyhedra_Library::UNBOUNDED_LP_PROBLEM,
Parma_Polyhedra_Library::OPTIMIZED_LP_PROBLEM
} |
| Possible outcomes of the LP_Problem solver. More...
|
Variables |
const Throwable *volatile | Parma_Polyhedra_Library::abandon_expensive_computations = 0 |
| A pointer to an exception object.
|
The core implementation of the Parma Polyhedra Library is written in C++.
See Namespace, Hierarchical and Compound indexes for additional information about each single data type.