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 Constraint_System &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 Constraint_System & | constraints () const |
| Returns the system of constraints. | |
| const Constraint_System & | 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. | |
| bool | definitely_entails (const Determinate &y) const |
Returns true if and only if *this entails y. | |
| bool | is_definitely_equivalent_to (const Determinate &y) const |
Returns true if and only if *this and y are equivalent. | |
| memory_size_type | total_memory_in_bytes () const |
Returns a lower bound to the total size in bytes of the memory occupied by *this. | |
| memory_size_type | external_memory_in_bytes () const |
Returns a lower bound to the size in bytes of the memory managed by *this. | |
| 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 (Constraint_System &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_space_dimensions_and_embed (dimension_type m) |
Adds m new space dimensions and embeds the old domain element in the new vector space. | |
| void | add_space_dimensions_and_project (dimension_type m) |
Adds m new space 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_space_dimensions (const Variables_Set &to_be_removed) |
| Removes all the specified space dimensions. | |
| void | remove_higher_space_dimensions (dimension_type new_dimension) |
Removes the higher space dimensions so that the resulting space will have dimension new_dimension. | |
| template<typename Partial_Function> | |
| void | map_space_dimensions (const Partial_Function &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 space dimensions.
|
|
||||||||||
|
Removes the higher space dimensions so that the resulting space will have dimension
|
|
||||||||||||||
|
Remaps the dimensions of the vector space according to a partial function. See Polyhedron::map_space_dimensions. |
|
||||||||||||||||
|
Returns
|
|
||||||||||||||||
|
Returns
|
1.3.9.1-20041213