A conjunctive assertion about a polyhedron.
More...
#include <Ph_Status.idefs.hh>
List of all members.
Detailed Description
A conjunctive assertion about a polyhedron.
The assertions supported are:
- zero-dim universe: the polyhedron is the zero-dimension vector space
;
- empty: the polyhedron is the empty set;
- constraints pending: the polyhedron is correctly characterized by the attached system of constraints, which is split in two non-empty subsets: the already processed constraints, which are in minimal form, and the pending constraints, which still have to be processed and may thus be inconsistent or contain redundancies;
- generators pending: the polyhedron is correctly characterized by the attached system of generators, which is split in two non-empty subsets: the already processed generators, which are in minimal form, and the pending generators, which still have to be processed and may thus contain redundancies;
- constraints up-to-date: the polyhedron is correctly characterized by the attached system of constraints, modulo the processing of pending generators;
- generators up-to-date: the polyhedron is correctly characterized by the attached system of generators, modulo the processing of pending constraints;
- constraints minimized: the non-pending part of the system of constraints attached to the polyhedron is in minimal form;
- generators minimized: the non-pending part of the system of generators attached to the polyhedron is in minimal form;
- constraints' saturation matrix up-to-date: the attached saturation matrix having rows indexed by non-pending generators and columns indexed by non-pending constraints correctly expresses the saturation relation between the attached non-pending constraints and generators;
- generators' saturation matrix up-to-date: the attached saturation matrix having rows indexed by non-pending constraints and columns indexed by non-pending generators correctly expresses the saturation relation between the attached non-pending constraints and generators;
Not all the conjunctions of these elementary assertions constitute a legal Status. In fact:
- zero-dim universe excludes any other assertion;
- empty: excludes any other assertion;
- constraints pending and generators pending are mutually exclusive;
- constraints pending implies both constraints minimized and generators minimized;
- generators pending implies both constraints minimized and generators minimized;
- constraints minimized implies constraints up-to-date;
- generators minimized implies generators up-to-date;
- constraints' saturation matrix up-to-date implies both constraints up-to-date and generators up-to-date;
- generators' saturation matrix up-to-date implies both constraints up-to-date and generators up-to-date.
Definition at line 86 of file Ph_Status.idefs.hh.
Member Typedef Documentation
Constructor & Destructor Documentation
By default Status is the zero-dim universe assertion.
| Status::Status |
( |
flags_t |
mask |
) |
[private] |
Construct from a bit-mask.
Member Function Documentation
| void Status::ascii_dump |
( |
std::ostream & |
s |
) |
const |
Writes to s an ASCII representation of *this.
| void Status::ascii_dump |
( |
|
) |
const |
Writes to std::cerr an ASCII representation of *this.
| bool 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.
| bool Status::OK |
( |
|
) |
const |
Checks if all the invariants are satisfied.
| void Status::print |
( |
|
) |
const |
Prints *this to std::cerr using operator<<.
| void Status::reset |
( |
flags_t |
mask |
) |
[private] |
| void Status::reset_c_minimized |
( |
|
) |
|
| void Status::reset_c_pending |
( |
|
) |
|
| void Status::reset_c_up_to_date |
( |
|
) |
|
| void Status::reset_empty |
( |
|
) |
|
| void Status::reset_g_minimized |
( |
|
) |
|
| void Status::reset_g_pending |
( |
|
) |
|
| void Status::reset_g_up_to_date |
( |
|
) |
|
| void Status::reset_sat_c_up_to_date |
( |
|
) |
|
| void Status::reset_sat_g_up_to_date |
( |
|
) |
|
| void Status::reset_zero_dim_univ |
( |
|
) |
|
| void Status::set |
( |
flags_t |
mask |
) |
[private] |
| void Status::set_c_minimized |
( |
|
) |
|
| void Status::set_c_pending |
( |
|
) |
|
| void Status::set_c_up_to_date |
( |
|
) |
|
| void Status::set_empty |
( |
|
) |
|
| void Status::set_g_minimized |
( |
|
) |
|
| void Status::set_g_pending |
( |
|
) |
|
| void Status::set_g_up_to_date |
( |
|
) |
|
| void Status::set_sat_c_up_to_date |
( |
|
) |
|
| void Status::set_sat_g_up_to_date |
( |
|
) |
|
| void Status::set_zero_dim_univ |
( |
|
) |
|
| bool Status::test_all |
( |
flags_t |
mask |
) |
const [private] |
Check whether all bits in mask are set.
| bool Status::test_any |
( |
flags_t |
mask |
) |
const [private] |
Check whether at least one bit in mask is set.
| bool Status::test_c_minimized |
( |
|
) |
const |
| bool Status::test_c_pending |
( |
|
) |
const |
| bool Status::test_c_up_to_date |
( |
|
) |
const |
| bool Status::test_empty |
( |
|
) |
const |
| bool Status::test_g_minimized |
( |
|
) |
const |
| bool Status::test_g_pending |
( |
|
) |
const |
| bool Status::test_g_up_to_date |
( |
|
) |
const |
| bool Status::test_sat_c_up_to_date |
( |
|
) |
const |
| bool Status::test_sat_g_up_to_date |
( |
|
) |
const |
| bool Status::test_zero_dim_univ |
( |
|
) |
const |
Member Data Documentation
The documentation for this class was generated from the following file: