Main Page | Modules | Namespace List | Class Hierarchy | Class List | Directories | Namespace Members | Class Members | Related Pages

Parma_Polyhedra_Library Namespace Reference

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


Classes

class  Checked_Number
 A wrapper for native numeric types implementing a given policy. More...
class  Native_Integer
 A wrapper for unchecked native integer types. More...
class  Variable
 A dimension of the vector space. 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  Poly_Con_Relation
 The relation between a polyhedron and a constraint. 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  C_Polyhedron
 A closed convex polyhedron. More...
class  NNC_Polyhedron
 A not necessarily closed convex polyhedron. More...
class  Determinate
 Wraps a PPL class into a determinate constraint system interface. More...
class  Powerset
 The powerset construction on constraint systems. More...
class  Polyhedra_Powerset
 The powerset construction instantiated on PPL polyhedra. More...

Namespaces

namespace  IO_Operators
 All input/output operators are confined to this namespace.

Functions Operating on Unbounded Integer Coefficients

void negate (GMP_Integer &x)
 Assigns to x its negation.
void gcd_assign (GMP_Integer &x, const GMP_Integer &y)
 Assigns to x the greatest common divisor of x and y.
void gcd_assign (GMP_Integer &x, const GMP_Integer &y, const GMP_Integer &z)
 Assigns to x the greatest common divisor of y and z.
void lcm_assign (GMP_Integer &x, const GMP_Integer &y)
 Assigns to x the least common multiple of x and y.
void lcm_assign (GMP_Integer &x, const GMP_Integer &y, const GMP_Integer &z)
 Assigns to x the least common multiple of y and z.
void add_mul_assign (GMP_Integer &x, const GMP_Integer &y, const GMP_Integer &z)
 Assigns to x the value x + y * z.
void sub_mul_assign (GMP_Integer &x, const GMP_Integer &y, const GMP_Integer &z)
 Assigns to x the value x - y * z.
void exact_div_assign (GMP_Integer &x, const GMP_Integer &y)
 Assigns to x the quotient of the integer division of x by y.
void exact_div_assign (GMP_Integer &x, const GMP_Integer &y, const GMP_Integer &z)
 Assigns to x the quotient of the integer division of y by z.
void sqrt_assign (GMP_Integer &x)
 Assigns to x its integer square root.
void sqrt_assign (GMP_Integer &x, const GMP_Integer &y)
 Assigns to x the integer square root of y.
int cmp (const GMP_Integer &x, const GMP_Integer &y)
 Returns a negative, zero or positive value depending on whether x is lower than, equal to or greater than y, respectively.
const mpz_class & raw_value (const GMP_Integer &x)
 Returns a const reference to x.
mpz_class & raw_value (GMP_Integer &x)
 Returns a reference to x.
size_t total_memory_in_bytes (const GMP_Integer &x)
 Returns the total size in bytes of the memory occupied by x.
size_t external_memory_in_bytes (const GMP_Integer &x)
 Returns the size in bytes of the memory managed by x.

Typedefs

typedef mpz_class GMP_Integer
 Unbounded integers are implemented using the GMP library.
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.

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.


Detailed Description

The entire library is confined to this namespace.

Typedef Documentation

typedef mpz_class Parma_Polyhedra_Library::GMP_Integer
 

Unbounded integers are implemented using the GMP library.

GMP_Integer is an alias for the mpz_class type defined in the C++ interface of the GMP library. For more information, see http://www.swox.com/gmp/

typedef COEFFICIENT_TYPE Parma_Polyhedra_Library::Coefficient
 

An alias for easily naming the type of PPL coefficients.

Objects of type Coefficient are used to implement the integral valued coefficients occurring in linear expressions, constraints, generators, intervals, bounding boxes and so on. Depending on the chosen configuration options (see file README.configure), a Coefficient may actually be:

  • The GMP_Integer type, which in turn is an alias for the mpz_class type implemented by the C++ interface of the GMP library (this is the default configuration);
  • An instance of the Checked_Number class template, implementing overflow detection on top of a native integral type (available template instances include checked integers having 8, 16, 32 or 64 bits);
  • An instance of the Native_Integer class template, simply wrapping a native integral types with no overflow detection (available template instances include native integers having 8, 16, 32 or 64 bits).


Function Documentation

const char* 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.


Generated on Fri Dec 24 16:50:18 2004 for PPL by  doxygen 1.3.9.1-20041213