Public Member Functions | |
Constructors and Destructor | |
| Determinate (dimension_type num_dimensions=0, bool universe=true) | |
Builds either the top or the bottom of the determinate constraint system defined on the vector space having num_dimensions dimensions. | |
| Determinate (const PH &p) | |
Injection operator: builds the determinate constraint system element corresponding to the base-level element p. | |
| Determinate (const ConSys &cs) | |
Injection operator: builds the determinate constraint system element corresponding to the base-level element represented by cs. | |
| Determinate (const Determinate &y) | |
| Copy constructor. | |
| ~Determinate () | |
| Destructor. | |
Member Functions that Do Not Modify the Domain Element | |
| dimension_type | space_dimension () const |
Returns the dimension of the vector space enclosing *this. | |
| const ConSys & | constraints () const |
| Returns the system of constraints. | |
| const ConSys & | minimized_constraints () const |
| Returns the system of constraints, with no redundant constraint. | |
| const PH & | element () const |
| Returns a const reference to the embedded element. | |
| PH & | element () |
| Returns a reference to the embedded element. | |
| bool | is_top () const |
Returns true if and only if *this is the top of the determinate constraint system (i.e., the whole vector space). | |
| bool | is_bottom () const |
Returns true if and only if *this is the bottom of the determinate constraint system (i.e., the emptyset). | |
| bool | definitely_entails (const Determinate &y) const |
Returns true if and only if *this entails y (i.e., *this is contained in y). | |
| bool | is_definitely_equivalent_to (const Determinate &y) const |
Returns true if and only if *this and y are equivalent. | |
| bool | OK () const |
| Checks if all the invariants are satisfied. | |
Space-Dimension Preserving Member Functions that May Modify the Domain Element | |
| void | upper_bound_assign (const Determinate &y) |
Assigns to *this the upper bound of *this and y. | |
| void | meet_assign (const Determinate &y) |
Assigns to *this the meet of *this and y. | |
| void | add_constraint (const Constraint &c) |
Assigns to *this the meet of *this and the element represented by constraint c. | |
| void | add_constraints (ConSys &cs) |
Assigns to *this the meet of *this and the element represented by the constraints in cs. | |
Member Functions that May Modify the Dimension of the Vector Space | |
| Determinate & | operator= (const Determinate &y) |
| Assignment operator. | |
| void | swap (Determinate &y) |
Swaps *this with y. | |
| void | add_dimensions_and_embed (dimension_type m) |
Adds m new dimensions and embeds the old domain element in the new vector space. | |
| void | add_dimensions_and_project (dimension_type m) |
Adds m new dimensions to the domain element and does not embed it in the new vector space. | |
| void | concatenate_assign (const Determinate &y) |
Assigns to *this the concatenation of *this and y, taken in this order. | |
| void | remove_dimensions (const Variables_Set &to_be_removed) |
| Removes all the specified dimensions. | |
| void | remove_higher_dimensions (dimension_type new_dimension) |
Removes the higher dimensions so that the resulting space will have dimension new_dimension. | |
| template<typename PartialFunction> void | map_dimensions (const PartialFunction &pfunc) |
| Remaps the dimensions of the vector space according to a partial function. | |
Friends | |
| bool | operator== (const Determinate< PH > &x, const Determinate< PH > &y) |
Returns true if and only if x and y are the same domain element. | |
| bool | operator!= (const Determinate< PH > &x, const Determinate< PH > &y) |
Returns true if and only if x and y are different domain elements. | |
Related Functions | |
| (Note that these are not member functions.) | |
| std::ostream & | operator<< (std::ostream &, const Determinate< PH > &) |
| Output operator. | |
| void | swap (Parma_Polyhedra_Library::Determinate< PH > &x, Parma_Polyhedra_Library::Determinate< PH > &y) |
Specializes std::swap. | |
|
||||||||||||||||
|
Builds either the top or the bottom of the determinate constraint system defined on the vector space having
The top element, corresponding to the whole vector space, is built if |
|
||||||||||
|
Assigns to
|
|
||||||||||
|
Assigns to
|
|
||||||||||
|
Removes all the specified dimensions.
|
|
||||||||||
|
Removes the higher dimensions so that the resulting space will have dimension
|
|
||||||||||||||
|
Remaps the dimensions of the vector space according to a partial function. |
|
||||||||||||||||
|
Returns
|
|
||||||||||||||||
|
Returns
|
1.3.8-20040812