Parma_Polyhedra_Library Namespace Reference
[C++ Language Interface]

The entire library is confined to this namespace. More...


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.


Detailed Description

The entire library is confined to this namespace.


Function Documentation

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.

Exceptions:
std::invalid_argument Thrown if p is greater than INT_MAX.


Generated on Wed Jul 16 22:51:11 2008 for PPL by  doxygen 1.5.6