PPL
1.2
|
A convergence certificate for the H79 widening operator. More...
#include <H79_Certificate_defs.hh>
Classes | |
struct | Compare |
A total ordering on H79 certificates. More... | |
Public Member Functions | |
H79_Certificate () | |
Default constructor. More... | |
template<typename PH > | |
H79_Certificate (const PH &ph) | |
Constructor: computes the certificate for ph . More... | |
H79_Certificate (const Polyhedron &ph) | |
Constructor: computes the certificate for ph . More... | |
H79_Certificate (const H79_Certificate &y) | |
Copy constructor. More... | |
~H79_Certificate () | |
Destructor. More... | |
int | compare (const H79_Certificate &y) const |
The comparison function for certificates. More... | |
template<typename PH > | |
int | compare (const PH &ph) const |
Compares *this with the certificate for polyhedron ph . More... | |
int | compare (const Polyhedron &ph) const |
Compares *this with the certificate for polyhedron ph . More... | |
Private Attributes | |
dimension_type | affine_dim |
Affine dimension of the polyhedron. More... | |
dimension_type | num_constraints |
Cardinality of a non-redundant constraint system for the polyhedron. More... | |
A convergence certificate for the H79 widening operator.
Convergence certificates are used to instantiate the BHZ03 framework so as to define widening operators for the finite powerset domain.
Definition at line 40 of file H79_Certificate_defs.hh.
|
inline |
Default constructor.
Definition at line 32 of file H79_Certificate_inlines.hh.
|
inline |
Constructor: computes the certificate for ph
.
Definition at line 56 of file H79_Certificate_inlines.hh.
References affine_dim, Parma_Polyhedra_Library::NECESSARILY_CLOSED, and num_constraints.
Parma_Polyhedra_Library::H79_Certificate::H79_Certificate | ( | const Polyhedron & | ph | ) |
Constructor: computes the certificate for ph
.
Definition at line 33 of file H79_Certificate.cc.
References affine_dim, Parma_Polyhedra_Library::Constraint_System::begin(), Parma_Polyhedra_Library::Constraint_System::end(), Parma_Polyhedra_Library::Polyhedron::is_necessarily_closed(), Parma_Polyhedra_Library::Polyhedron::marked_empty(), Parma_Polyhedra_Library::Polyhedron::minimize(), Parma_Polyhedra_Library::Polyhedron::minimized_constraints(), num_constraints, and Parma_Polyhedra_Library::Polyhedron::space_dimension().
|
inline |
Copy constructor.
Definition at line 38 of file H79_Certificate_inlines.hh.
|
inline |
int Parma_Polyhedra_Library::H79_Certificate::compare | ( | const H79_Certificate & | y | ) | const |
The comparison function for certificates.
*this
is smaller than, equal to, or greater than y
, respectively.Compares *this
with y
, using a total ordering which is a refinement of the limited growth ordering relation for the H79 widening.
Definition at line 66 of file H79_Certificate.cc.
References affine_dim, num_constraints, and Parma_Polyhedra_Library::Implementation::num_constraints().
Referenced by compare(), and Parma_Polyhedra_Library::H79_Certificate::Compare::operator()().
|
inline |
Compares *this
with the certificate for polyhedron ph
.
Definition at line 65 of file H79_Certificate_inlines.hh.
References compare(), and Parma_Polyhedra_Library::NECESSARILY_CLOSED.
int Parma_Polyhedra_Library::H79_Certificate::compare | ( | const Polyhedron & | ph | ) | const |
Compares *this
with the certificate for polyhedron ph
.
Definition at line 78 of file H79_Certificate.cc.
References Parma_Polyhedra_Library::Constraint_System::begin(), Parma_Polyhedra_Library::Constraint_System::end(), Parma_Polyhedra_Library::Polyhedron::is_necessarily_closed(), Parma_Polyhedra_Library::Polyhedron::marked_empty(), Parma_Polyhedra_Library::Polyhedron::minimize(), Parma_Polyhedra_Library::Polyhedron::minimized_constraints(), Parma_Polyhedra_Library::Implementation::num_constraints(), and Parma_Polyhedra_Library::Polyhedron::space_dimension().
|
private |
Affine dimension of the polyhedron.
Definition at line 90 of file H79_Certificate_defs.hh.
Referenced by compare(), and H79_Certificate().
|
private |
Cardinality of a non-redundant constraint system for the polyhedron.
Definition at line 92 of file H79_Certificate_defs.hh.
Referenced by compare(), and H79_Certificate().