PPL
1.2
|
A conjunctive assertion about a polyhedron. More...
Public Member Functions | |
Status () | |
By default Status is the zero-dim universe assertion. More... | |
bool | OK () const |
Checks if all the invariants are satisfied. More... | |
void | ascii_dump () const |
Writes to std::cerr an ASCII representation of *this . More... | |
void | ascii_dump (std::ostream &s) const |
Writes to s an ASCII representation of *this . More... | |
void | print () const |
Prints *this to std::cerr using operator<< . More... | |
bool | ascii_load (std::istream &s) |
Loads from s an ASCII representation (as produced by ascii_dump(std::ostream&) const) and sets *this accordingly. Returns true if successful, false otherwise. More... | |
Test, remove or add an individual assertion from the conjunction | |
bool | test_zero_dim_univ () const |
void | reset_zero_dim_univ () |
void | set_zero_dim_univ () |
bool | test_empty () const |
void | reset_empty () |
void | set_empty () |
bool | test_c_up_to_date () const |
void | reset_c_up_to_date () |
void | set_c_up_to_date () |
bool | test_g_up_to_date () const |
void | reset_g_up_to_date () |
void | set_g_up_to_date () |
bool | test_c_minimized () const |
void | reset_c_minimized () |
void | set_c_minimized () |
bool | test_g_minimized () const |
void | reset_g_minimized () |
void | set_g_minimized () |
bool | test_sat_c_up_to_date () const |
void | reset_sat_c_up_to_date () |
void | set_sat_c_up_to_date () |
bool | test_sat_g_up_to_date () const |
void | reset_sat_g_up_to_date () |
void | set_sat_g_up_to_date () |
bool | test_c_pending () const |
void | reset_c_pending () |
void | set_c_pending () |
bool | test_g_pending () const |
void | reset_g_pending () |
void | set_g_pending () |
Private Types | |
typedef unsigned int | flags_t |
Status is implemented by means of a finite bitset. More... | |
Private Member Functions | |
Status (flags_t mask) | |
Construct from a bit-mask. More... | |
bool | test_all (flags_t mask) const |
Check whether all bits in mask are set. More... | |
bool | test_any (flags_t mask) const |
Check whether at least one bit in mask is set. More... | |
void | set (flags_t mask) |
Set the bits in mask . More... | |
void | reset (flags_t mask) |
Reset the bits in mask . More... | |
Private Attributes | |
flags_t | flags |
This holds the current bitset. More... | |
Static Private Attributes | |
Bit-masks for the individual assertions | |
static const flags_t | ZERO_DIM_UNIV = 0U |
static const flags_t | EMPTY = 1U << 0 |
static const flags_t | C_UP_TO_DATE = 1U << 1 |
static const flags_t | G_UP_TO_DATE = 1U << 2 |
static const flags_t | C_MINIMIZED = 1U << 3 |
static const flags_t | G_MINIMIZED = 1U << 4 |
static const flags_t | SAT_C_UP_TO_DATE = 1U << 5 |
static const flags_t | SAT_G_UP_TO_DATE = 1U << 6 |
static const flags_t | CS_PENDING = 1U << 7 |
static const flags_t | GS_PENDING = 1U << 8 |
Related Functions | |
(Note that these are not member functions.) | |
bool | get_field (std::istream &s, const char *keyword, bool &positive) |
A conjunctive assertion about a polyhedron.
The assertions supported are:
Not all the conjunctions of these elementary assertions constitute a legal Status. In fact:
Definition at line 87 of file Polyhedron_defs.hh.
|
private |
Status is implemented by means of a finite bitset.
Definition at line 149 of file Polyhedron_defs.hh.
|
inline |
By default Status is the zero-dim universe assertion.
Definition at line 35 of file Ph_Status_inlines.hh.
|
inlineprivate |
Construct from a bit-mask.
Definition at line 30 of file Ph_Status_inlines.hh.
void Parma_Polyhedra_Library::Polyhedron::Status::ascii_dump | ( | ) | const |
Writes to std::cerr
an ASCII representation of *this
.
void Parma_Polyhedra_Library::Polyhedron::Status::ascii_dump | ( | std::ostream & | s | ) | const |
Writes to s
an ASCII representation of *this
.
Definition at line 68 of file Ph_Status.cc.
References Parma_Polyhedra_Library::Implementation::BD_Shapes::empty, and Parma_Polyhedra_Library::Implementation::BD_Shapes::zero_dim_univ.
bool Parma_Polyhedra_Library::Polyhedron::Status::ascii_load | ( | std::istream & | s | ) |
Loads from s
an ASCII representation (as produced by ascii_dump(std::ostream&) const) and sets *this
accordingly. Returns true
if successful, false
otherwise.
Definition at line 88 of file Ph_Status.cc.
References Parma_Polyhedra_Library::Implementation::BD_Shapes::empty, Parma_Polyhedra_Library::BD_Shape< T >::Status::get_field(), PPL_UNINITIALIZED, and Parma_Polyhedra_Library::Implementation::BD_Shapes::zero_dim_univ.
bool Parma_Polyhedra_Library::Polyhedron::Status::OK | ( | ) | const |
Checks if all the invariants are satisfied.
Definition at line 191 of file Ph_Status.cc.
References reset_empty(), and test_zero_dim_univ().
void Parma_Polyhedra_Library::Polyhedron::Status::print | ( | ) | const |
Prints *this
to std::cerr
using operator<<
.
|
inlineprivate |
Reset the bits in mask
.
Definition at line 55 of file Ph_Status_inlines.hh.
|
inline |
Definition at line 130 of file Ph_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Polyhedron::clear_constraints_minimized().
|
inline |
Definition at line 161 of file Ph_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Polyhedron::clear_pending_constraints().
|
inline |
Definition at line 100 of file Ph_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Polyhedron::clear_constraints_up_to_date().
|
inline |
Definition at line 85 of file Ph_Status_inlines.hh.
References Parma_Polyhedra_Library::EMPTY.
Referenced by Parma_Polyhedra_Library::Polyhedron::clear_empty(), and OK().
|
inline |
Definition at line 145 of file Ph_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Polyhedron::clear_generators_minimized().
|
inline |
Definition at line 176 of file Ph_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Polyhedron::clear_pending_generators().
|
inline |
Definition at line 115 of file Ph_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Polyhedron::clear_generators_up_to_date().
|
inline |
Definition at line 192 of file Ph_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Polyhedron::clear_sat_c_up_to_date().
|
inline |
Definition at line 207 of file Ph_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Polyhedron::clear_sat_g_up_to_date().
|
inline |
Definition at line 65 of file Ph_Status_inlines.hh.
References Parma_Polyhedra_Library::EMPTY.
|
inlineprivate |
Set the bits in mask
.
Definition at line 50 of file Ph_Status_inlines.hh.
|
inline |
Definition at line 135 of file Ph_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Polyhedron::set_constraints_minimized().
|
inline |
Definition at line 166 of file Ph_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Polyhedron::set_constraints_pending().
|
inline |
Definition at line 105 of file Ph_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Polyhedron::set_constraints_up_to_date().
|
inline |
Definition at line 90 of file Ph_Status_inlines.hh.
References Parma_Polyhedra_Library::EMPTY.
Referenced by Parma_Polyhedra_Library::Polyhedron::Polyhedron().
|
inline |
Definition at line 150 of file Ph_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Polyhedron::set_generators_minimized().
|
inline |
Definition at line 181 of file Ph_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Polyhedron::set_generators_pending().
|
inline |
Definition at line 120 of file Ph_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Polyhedron::set_generators_up_to_date().
|
inline |
Definition at line 197 of file Ph_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Polyhedron::set_sat_c_up_to_date().
|
inline |
Definition at line 212 of file Ph_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Polyhedron::set_sat_g_up_to_date().
|
inline |
Definition at line 74 of file Ph_Status_inlines.hh.
|
inlineprivate |
Check whether all bits in mask
are set.
Definition at line 40 of file Ph_Status_inlines.hh.
|
inlineprivate |
Check whether at least one bit in mask
is set.
Definition at line 45 of file Ph_Status_inlines.hh.
|
inline |
Definition at line 125 of file Ph_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Polyhedron::constraints_are_minimized().
|
inline |
Definition at line 156 of file Ph_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Polyhedron::has_pending_constraints(), and Parma_Polyhedra_Library::Polyhedron::has_something_pending().
|
inline |
Definition at line 95 of file Ph_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Polyhedron::constraints_are_up_to_date().
|
inline |
Definition at line 80 of file Ph_Status_inlines.hh.
References Parma_Polyhedra_Library::EMPTY.
Referenced by Parma_Polyhedra_Library::Polyhedron::marked_empty().
|
inline |
Definition at line 140 of file Ph_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Polyhedron::generators_are_minimized().
|
inline |
Definition at line 171 of file Ph_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Polyhedron::has_pending_generators(), and Parma_Polyhedra_Library::Polyhedron::has_something_pending().
|
inline |
Definition at line 110 of file Ph_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Polyhedron::generators_are_up_to_date().
|
inline |
Definition at line 187 of file Ph_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Polyhedron::sat_c_is_up_to_date().
|
inline |
Definition at line 202 of file Ph_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Polyhedron::sat_g_is_up_to_date().
|
inline |
Definition at line 60 of file Ph_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Polyhedron::add_space_dimensions_and_embed(), and OK().
|
related |
Reads a keyword and its associated on/off, +/- flag from s
. Returns true
if the operation is successful, returns false
otherwise. When successful, positive
is set to true
if the flag is on; it is set to false
otherwise.
Definition at line 54 of file Ph_Status.cc.
|
staticprivate |
Definition at line 157 of file Polyhedron_defs.hh.
|
staticprivate |
Definition at line 155 of file Polyhedron_defs.hh.
|
staticprivate |
Definition at line 161 of file Polyhedron_defs.hh.
|
staticprivate |
Definition at line 154 of file Polyhedron_defs.hh.
|
private |
This holds the current bitset.
Definition at line 166 of file Polyhedron_defs.hh.
|
staticprivate |
Definition at line 158 of file Polyhedron_defs.hh.
|
staticprivate |
Definition at line 156 of file Polyhedron_defs.hh.
|
staticprivate |
Definition at line 162 of file Polyhedron_defs.hh.
|
staticprivate |
Definition at line 159 of file Polyhedron_defs.hh.
|
staticprivate |
Definition at line 160 of file Polyhedron_defs.hh.
|
staticprivate |
Definition at line 153 of file Polyhedron_defs.hh.