Classes | |
class | Checked_Number |
A wrapper for numeric types implementing a given policy. More... | |
class | Throwable |
User objects the PPL can throw. More... | |
struct | From_Bounding_Box |
A tag class. More... | |
struct | From_Covering_Box |
A tag class. More... | |
class | Constraint_System |
A system of constraints. More... | |
class | Variable |
A dimension of the vector space. More... | |
class | Poly_Con_Relation |
The relation between a polyhedron and a constraint. More... | |
class | Generator_System |
A system of generators. More... | |
class | Grid_Generator_System |
A system of grid generators. More... | |
class | Congruence_System |
A system of congruences. More... | |
class | Linear_Expression |
A linear expression. More... | |
class | Constraint |
A linear equality or inequality. More... | |
class | Generator |
A line, ray, point or closure point. More... | |
class | Grid_Generator |
A line, parameter or point. More... | |
class | Congruence |
A linear congruence. More... | |
class | LP_Problem |
A Linear Programming problem. More... | |
class | Poly_Gen_Relation |
The relation between a polyhedron and a generator. More... | |
class | BHRZ03_Certificate |
The convergence certificate for the BHRZ03 widening operator. More... | |
class | H79_Certificate |
A convergence certificate for the H79 widening operator. More... | |
class | Polyhedron |
The base class for convex polyhedra. More... | |
class | Grid_Certificate |
The convergence certificate for the Grid widening operator. More... | |
class | Grid |
A grid. More... | |
class | C_Polyhedron |
A closed convex polyhedron. More... | |
class | NNC_Polyhedron |
A not necessarily closed convex polyhedron. More... | |
class | BD_Shape |
A bounded difference shape. More... | |
class | Determinate |
Wraps a PPL class into a determinate constraint system interface. More... | |
class | Powerset |
The powerset construction on a base-level domain. More... | |
class | Polyhedra_Powerset |
The powerset construction instantiated on PPL polyhedra. More... | |
class | GMP_Integer |
Unbounded integers as provided by the GMP library. More... | |
Namespaces | |
namespace | IO_Operators |
All input/output operators are confined to this namespace. | |
Typedefs | |
typedef size_t | dimension_type |
An unsigned integral type for representing space dimensions. | |
typedef size_t | memory_size_type |
An unsigned integral type for representing memory size in bytes. | |
typedef COEFFICIENT_TYPE | Coefficient |
An alias for easily naming the type of PPL coefficients. | |
typedef std::set< Variable, Variable::Compare > | Variables_Set |
An std::set containing variables in increasing order of dimension index. | |
Enumerations | |
enum | Result { , VC_NORMAL, V_LT, V_GT, V_EQ, V_NE, V_LE, V_GE, V_LGE, VC_MINUS_INFINITY, V_NEG_OVERFLOW, VC_PLUS_INFINITY, V_POS_OVERFLOW, VC_NAN, V_CVT_STR_UNK, V_DIV_ZERO, V_INF_ADD_INF, V_INF_DIV_INF, V_INF_MOD, V_INF_MUL_ZERO, V_INF_SUB_INF, V_MOD_ZERO, V_SQRT_NEG, V_UNKNOWN_NEG_OVERFLOW, V_UNKNOWN_POS_OVERFLOW, V_UNORD_COMP } |
Possible outcomes of a checked arithmetic computation. More... | |
enum | Rounding_Dir { ROUND_DOWN, ROUND_UP, ROUND_IGNORE , ROUND_NOT_NEEDED } |
Rounding directions for arithmetic computations. More... | |
enum | Degenerate_Element { UNIVERSE, EMPTY } |
Kinds of degenerate abstract elements. More... | |
enum | Relation_Symbol { LESS_THAN, LESS_THAN_OR_EQUAL, EQUAL, GREATER_THAN_OR_EQUAL, GREATER_THAN } |
Relation symbols. More... | |
enum | Complexity_Class { POLYNOMIAL_COMPLEXITY, SIMPLEX_COMPLEXITY, ANY_COMPLEXITY } |
Complexity pseudo-classes. More... | |
enum | Optimization_Mode { MINIMIZATION, MAXIMIZATION } |
Possible optimization modes. More... | |
enum | LP_Problem_Status { UNFEASIBLE_LP_PROBLEM, UNBOUNDED_LP_PROBLEM, OPTIMIZED_LP_PROBLEM } |
Possible outcomes of the LP_Problem solver. More... | |
Functions | |
unsigned | version_major () |
Returns the major number of the PPL version. | |
unsigned | version_minor () |
Returns the minor number of the PPL version. | |
unsigned | version_revision () |
Returns the revision number of the PPL version. | |
unsigned | version_beta () |
Returns the beta number of the PPL version. | |
const char * | version () |
Returns a character string containing the PPL version. | |
const char * | banner () |
Returns a character string containing the PPL banner. | |
fpu_rounding_direction_type | fpu_get_rounding_direction () |
Returns the current FPU rounding direction. | |
void | fpu_set_rounding_direction (fpu_rounding_direction_type dir) |
Sets the FPU rounding direction to dir . | |
fpu_rounding_control_word_type | fpu_save_rounding_direction (fpu_rounding_direction_type dir) |
Sets the FPU rounding direction to dir and returns the rounding control word previously in use. | |
fpu_rounding_control_word_type | fpu_save_rounding_direction_reset_inexact (fpu_rounding_direction_type dir) |
Sets the FPU rounding direction to dir , clears the inexact computation status, and returns the rounding control word previously in use. | |
void | fpu_restore_rounding_direction (fpu_rounding_control_word_type w) |
Restores the FPU rounding rounding control word to cw . | |
void | fpu_reset_inexact () |
Clears the inexact computation status. | |
int | fpu_check_inexact () |
Queries the inexact computation status. | |
Rounding_Dir | inverse (Rounding_Dir dir) |
Returns the inverse rounding mode of dir , ROUND_IGNORE being the inverse of itself. | |
unsigned | rational_sqrt_precision_parameter () |
Returns the precision parameter used for rational square root calculations. | |
void | set_rational_sqrt_precision_parameter (const unsigned p) |
Sets the precision parameter used for rational square root calculations. | |
dimension_type | not_a_dimension () |
Returns a value that does not designate a valid dimension. | |
dimension_type | max_space_dimension () |
Returns the maximum space dimension this library can handle. | |
Variables | |
const Throwable *volatile | abandon_expensive_computations |
A pointer to an exception object. |
const char* Parma_Polyhedra_Library::banner | ( | ) |
Returns a character string containing the PPL banner.
The banner provides information about the PPL version, the licensing, the lack of any warranty whatsoever, the C++ compiler used to build the library, where to report bugs and where to look for further information.
int Parma_Polyhedra_Library::fpu_check_inexact | ( | ) | [inline] |
Queries the inexact computation status.
Returns 0 if the computation was definitely exact, 1 if it was definitely inexact, -1 if definite exactness information is unavailable.
void Parma_Polyhedra_Library::set_rational_sqrt_precision_parameter | ( | const unsigned | p | ) | [inline] |
Sets the precision parameter used for rational square root calculations.
If p
is less than or equal to INT_MAX
, sets the precision parameter used for rational square root calculations to p
.
std::invalid_argument | Thrown if p is greater than INT_MAX . |