PPL
1.2
|
A conjunctive assertion about a grid. 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 bitmask. 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 | |
Bitmasks 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 grid.
The assertions supported that are in use are:
Other supported assertions are:
Not all the conjunctions of these elementary assertions constitute a legal Status. In fact:
Definition at line 72 of file Grid_defs.hh.
|
private |
Status is implemented by means of a finite bitset.
Definition at line 134 of file Grid_defs.hh.
|
inline |
By default Status is the zero-dim universe assertion.
Definition at line 35 of file Grid_Status_inlines.hh.
|
inlineprivate |
Construct from a bitmask.
Definition at line 30 of file Grid_Status_inlines.hh.
void Parma_Polyhedra_Library::Grid::Status::ascii_dump | ( | ) | const |
Writes to std::cerr
an ASCII representation of *this
.
void Parma_Polyhedra_Library::Grid::Status::ascii_dump | ( | std::ostream & | s | ) | const |
Writes to s
an ASCII representation of *this
.
Definition at line 68 of file Grid_Status.cc.
References Parma_Polyhedra_Library::Implementation::BD_Shapes::empty, and Parma_Polyhedra_Library::Implementation::BD_Shapes::zero_dim_univ.
bool Parma_Polyhedra_Library::Grid::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 89 of file Grid_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::Grid::Status::OK | ( | ) | const |
Checks if all the invariants are satisfied.
Definition at line 194 of file Grid_Status.cc.
References Parma_Polyhedra_Library::Checked_Number< T, Policy >::ascii_dump(), reset_empty(), and test_zero_dim_univ().
void Parma_Polyhedra_Library::Grid::Status::print | ( | ) | const |
Prints *this
to std::cerr
using operator<<
.
|
inlineprivate |
Reset the bits in mask
.
Definition at line 55 of file Grid_Status_inlines.hh.
|
inline |
Definition at line 130 of file Grid_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Grid::clear_congruences_minimized().
|
inline |
Definition at line 161 of file Grid_Status_inlines.hh.
|
inline |
Definition at line 100 of file Grid_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Grid::clear_congruences_up_to_date().
|
inline |
Definition at line 85 of file Grid_Status_inlines.hh.
References Parma_Polyhedra_Library::EMPTY.
Referenced by Parma_Polyhedra_Library::Grid::clear_empty(), and OK().
|
inline |
Definition at line 145 of file Grid_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Grid::clear_generators_minimized().
|
inline |
Definition at line 176 of file Grid_Status_inlines.hh.
|
inline |
Definition at line 115 of file Grid_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Grid::clear_generators_up_to_date().
|
inline |
Definition at line 192 of file Grid_Status_inlines.hh.
|
inline |
Definition at line 207 of file Grid_Status_inlines.hh.
|
inline |
Definition at line 65 of file Grid_Status_inlines.hh.
References Parma_Polyhedra_Library::EMPTY.
|
inlineprivate |
Set the bits in mask
.
Definition at line 50 of file Grid_Status_inlines.hh.
|
inline |
Definition at line 135 of file Grid_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Grid::set_congruences_minimized().
|
inline |
Definition at line 166 of file Grid_Status_inlines.hh.
|
inline |
Definition at line 105 of file Grid_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Grid::set_congruences_up_to_date().
|
inline |
Definition at line 90 of file Grid_Status_inlines.hh.
References Parma_Polyhedra_Library::EMPTY.
Referenced by Parma_Polyhedra_Library::Grid::construct(), and Parma_Polyhedra_Library::Grid::Grid().
|
inline |
Definition at line 150 of file Grid_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Grid::set_generators_minimized().
|
inline |
Definition at line 181 of file Grid_Status_inlines.hh.
|
inline |
Definition at line 120 of file Grid_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Grid::set_generators_up_to_date().
|
inline |
Definition at line 197 of file Grid_Status_inlines.hh.
|
inline |
Definition at line 212 of file Grid_Status_inlines.hh.
|
inline |
Definition at line 74 of file Grid_Status_inlines.hh.
|
inlineprivate |
Check whether all bits in mask
are set.
Definition at line 40 of file Grid_Status_inlines.hh.
|
inlineprivate |
Check whether at least one bit in mask
is set.
Definition at line 45 of file Grid_Status_inlines.hh.
|
inline |
Definition at line 125 of file Grid_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Grid::congruences_are_minimized().
|
inline |
Definition at line 156 of file Grid_Status_inlines.hh.
|
inline |
Definition at line 95 of file Grid_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Grid::congruences_are_up_to_date().
|
inline |
Definition at line 80 of file Grid_Status_inlines.hh.
References Parma_Polyhedra_Library::EMPTY.
Referenced by Parma_Polyhedra_Library::Grid::marked_empty().
|
inline |
Definition at line 140 of file Grid_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Grid::generators_are_minimized().
|
inline |
Definition at line 171 of file Grid_Status_inlines.hh.
|
inline |
Definition at line 110 of file Grid_Status_inlines.hh.
Referenced by Parma_Polyhedra_Library::Grid::generators_are_up_to_date().
|
inline |
Definition at line 187 of file Grid_Status_inlines.hh.
|
inline |
Definition at line 202 of file Grid_Status_inlines.hh.
|
inline |
Definition at line 60 of file Grid_Status_inlines.hh.
Referenced by 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 Grid_Status.cc.
|
staticprivate |
Definition at line 142 of file Grid_defs.hh.
|
staticprivate |
Definition at line 140 of file Grid_defs.hh.
|
staticprivate |
Definition at line 146 of file Grid_defs.hh.
|
staticprivate |
Definition at line 139 of file Grid_defs.hh.
|
private |
This holds the current bitset.
Definition at line 151 of file Grid_defs.hh.
|
staticprivate |
Definition at line 143 of file Grid_defs.hh.
|
staticprivate |
Definition at line 141 of file Grid_defs.hh.
|
staticprivate |
Definition at line 147 of file Grid_defs.hh.
|
staticprivate |
Definition at line 144 of file Grid_defs.hh.
|
staticprivate |
Definition at line 145 of file Grid_defs.hh.
|
staticprivate |
Definition at line 138 of file Grid_defs.hh.