|
PPL Java Language Interface
1.2
|
A topologically closed convex polyhedron. More...

Public Member Functions | |
Standard Constructors and Destructor | |
| C_Polyhedron (long d, Degenerate_Element kind) | |
Builds a new C polyhedron of dimension d. More... | |
| C_Polyhedron (C_Polyhedron y) | |
Builds a new C polyhedron that is copy of y. | |
| C_Polyhedron (C_Polyhedron y, Complexity_Class complexity) | |
Builds a new C polyhedron that is a copy of ph. More... | |
| C_Polyhedron (Constraint_System cs) | |
Builds a new C polyhedron from the system of constraints cs. More... | |
| C_Polyhedron (Congruence_System cgs) | |
Builds a new C polyhedron from the system of congruences cgs. More... | |
| native void | free () |
Releases all resources managed by this, also resetting it to a null reference. | |
Constructors Behaving as Conversion Operators | |
Besides the conversions listed here below, the library also provides conversion operators that build a semantic geometric description starting from any other semantic geometric description (e.g., | |
| C_Polyhedron (NNC_Polyhedron y) | |
Builds a C polyhedron that is a copy of the topological closure of the NNC polyhedron y. | |
| C_Polyhedron (NNC_Polyhedron y, Complexity_Class complexity) | |
Builds a C polyhedron that is a copy of the topological closure of the NNC polyhedron y. More... | |
| C_Polyhedron (Generator_System gs) | |
Builds a new C polyhedron from the system of generators gs. More... | |
Other Methods | |
| native boolean | upper_bound_assign_if_exact (C_Polyhedron y) |
If the upper bound of this and y is exact it is assigned to this and true is returned; otherwise false is returned. More... | |
Public Member Functions inherited from parma_polyhedra_library.Polyhedron | |
| native long | space_dimension () |
Returns the dimension of the vector space enclosing this. | |
| native long | affine_dimension () |
Returns , if this is empty; otherwise, returns the affine dimension of this. | |
| native Constraint_System | constraints () |
| Returns the system of constraints. | |
| native Congruence_System | congruences () |
Returns a system of (equality) congruences satisfied by this. | |
| native Constraint_System | minimized_constraints () |
| Returns the system of constraints, with no redundant constraint. | |
| native Congruence_System | minimized_congruences () |
Returns a system of (equality) congruences satisfied by this, with no redundant congruences and having the same affine dimension as this. | |
| native boolean | is_empty () |
Returns true if and only if this is an empty polyhedron. | |
| native boolean | is_universe () |
Returns true if and only if this is a universe polyhedron. | |
| native boolean | is_bounded () |
Returns true if and only if this is a bounded polyhedron. | |
| native boolean | is_discrete () |
Returns true if and only if this is discrete. | |
| native boolean | is_topologically_closed () |
Returns true if and only if this is a topologically closed subset of the vector space. | |
| native boolean | contains_integer_point () |
Returns true if and only if this contains at least one integer point. | |
| native boolean | constrains (Variable var) |
Returns true if and only if var is constrained in this. More... | |
| native boolean | bounds_from_above (Linear_Expression expr) |
Returns true if and only if expr is bounded from above in this. More... | |
| native boolean | bounds_from_below (Linear_Expression expr) |
Returns true if and only if expr is bounded from below in this. More... | |
| native boolean | maximize (Linear_Expression expr, Coefficient sup_n, Coefficient sup_d, By_Reference< Boolean > maximum) |
Returns true if and only if this is not empty and expr is bounded from above in this, in which case the supremum value is computed. More... | |
| native boolean | minimize (Linear_Expression expr, Coefficient inf_n, Coefficient inf_d, By_Reference< Boolean > minimum) |
Returns true if and only if this is not empty and expr is bounded from below in this, in which case the infimum value is computed. More... | |
| native boolean | maximize (Linear_Expression expr, Coefficient sup_n, Coefficient sup_d, By_Reference< Boolean > maximum, Generator g) |
Returns true if and only if this is not empty and expr is bounded from above in this, in which case the supremum value and a point where expr reaches it are computed. More... | |
| native boolean | minimize (Linear_Expression expr, Coefficient inf_n, Coefficient inf_d, By_Reference< Boolean > minimum, Generator g) |
Returns true if and only if this is not empty and expr is bounded from below in this, in which case the infimum value and a point where expr reaches it are computed. More... | |
| native Poly_Con_Relation | relation_with (Constraint c) |
Returns the relations holding between the polyhedron this and the constraint c. More... | |
| native Poly_Gen_Relation | relation_with (Generator c) |
Returns the relations holding between the polyhedron this and the generator g. More... | |
| native Poly_Con_Relation | relation_with (Congruence c) |
Returns the relations holding between the polyhedron this and the congruence c. More... | |
| native boolean | contains (Polyhedron y) |
Returns true if and only if this contains y. More... | |
| native boolean | strictly_contains (Polyhedron y) |
Returns true if and only if this strictly contains y. More... | |
| native boolean | is_disjoint_from (Polyhedron y) |
Returns true if and only if this and y are disjoint. More... | |
| native boolean | equals (Polyhedron y) |
Returns true if and only if this and y are equal. | |
| boolean | equals (Object y) |
Returns true if and only if this and y are equal. | |
| native int | hashCode () |
Returns a hash code for this. More... | |
| native long | external_memory_in_bytes () |
Returns the size in bytes of the memory managed by this. | |
| native long | total_memory_in_bytes () |
Returns the total size in bytes of the memory occupied by this. | |
| native String | toString () |
Returns a string representing this. | |
| native String | ascii_dump () |
Returns a string containing a low-level representation of this. More... | |
| native boolean | OK () |
| Checks if all the invariants are satisfied. | |
| native void | add_constraint (Constraint c) |
Adds a copy of constraint c to the system of constraints of this (without minimizing the result). More... | |
| native void | add_congruence (Congruence cg) |
Adds a copy of congruence cg to this, if cg can be exactly represented by a polyhedron. More... | |
| native void | add_constraints (Constraint_System cs) |
Adds a copy of the constraints in cs to the system of constraints of this (without minimizing the result). More... | |
| native void | add_congruences (Congruence_System cgs) |
Adds a copy of the congruences in cgs to this, if all the congruences can be exactly represented by a polyhedron. More... | |
| native void | refine_with_constraint (Constraint c) |
Uses a copy of constraint c to refine this. More... | |
| native void | refine_with_congruence (Congruence cg) |
Uses a copy of congruence cg to refine this. More... | |
| native void | refine_with_constraints (Constraint_System cs) |
Uses a copy of the constraints in cs to refine this. More... | |
| native void | refine_with_congruences (Congruence_System cgs) |
Uses a copy of the congruences in cgs to refine this. More... | |
| native void | intersection_assign (Polyhedron y) |
Assigns to this the intersection of this and y. The result is not guaranteed to be minimized. More... | |
| native void | upper_bound_assign (Polyhedron y) |
Assigns to this the upper bound of this and y. More... | |
| native void | difference_assign (Polyhedron y) |
Assigns to this the poly-difference of this and y. The result is not guaranteed to be minimized. More... | |
| native void | time_elapse_assign (Polyhedron y) |
Assigns to this the result of computing the time-elapse between this and y. More... | |
| native void | topological_closure_assign () |
Assigns to this its topological closure. | |
| native boolean | simplify_using_context_assign (Polyhedron y) |
Assigns to this a meet-preserving simplification of this with respect to y. If false is returned, then the intersection is empty. More... | |
| native void | affine_image (Variable var, Linear_Expression expr, Coefficient denominator) |
Assigns to this the affine image of this under the function mapping variable var to the affine expression specified by expr and denominator. More... | |
| native void | affine_preimage (Variable var, Linear_Expression expr, Coefficient denominator) |
Assigns to this the affine preimage of this under the function mapping variable var to the affine expression specified by expr and denominator. More... | |
| native void | bounded_affine_image (Variable var, Linear_Expression lb_expr, Linear_Expression ub_expr, Coefficient denominator) |
Assigns to this the image of this with respect to the bounded affine relation . More... | |
| native void | bounded_affine_preimage (Variable var, Linear_Expression lb_expr, Linear_Expression ub_expr, Coefficient denominator) |
Assigns to this the preimage of this with respect to the bounded affine relation . More... | |
| native void | generalized_affine_image (Variable var, Relation_Symbol relsym, Linear_Expression expr, Coefficient denominator) |
Assigns to this the image of this with respect to the generalized affine relation , where is the relation symbol encoded by relsym. More... | |
| native void | generalized_affine_preimage (Variable var, Relation_Symbol relsym, Linear_Expression expr, Coefficient denominator) |
Assigns to this the preimage of this with respect to the generalized affine relation , where is the relation symbol encoded by relsym. More... | |
| native void | generalized_affine_image (Linear_Expression lhs, Relation_Symbol relsym, Linear_Expression rhs) |
Assigns to this the image of this with respect to the generalized affine relation , where is the relation symbol encoded by relsym. More... | |
| native void | generalized_affine_preimage (Linear_Expression lhs, Relation_Symbol relsym, Linear_Expression rhs) |
Assigns to this the preimage of this with respect to the generalized affine relation , where is the relation symbol encoded by relsym. More... | |
| native void | unconstrain_space_dimension (Variable var) |
Computes the cylindrification of this with respect to space dimension var, assigning the result to this. More... | |
| native void | unconstrain_space_dimensions (Variables_Set vars) |
Computes the cylindrification of this with respect to the set of space dimensions vars, assigning the result to this. More... | |
| native void | widening_assign (Polyhedron y, By_Reference< Integer > tp) |
Assigns to this the result of computing the H79-widening between this and y. More... | |
| native void | swap (Polyhedron y) |
Swaps this with polyhedron y. (this and y can be dimension-incompatible.) More... | |
| native void | add_space_dimensions_and_embed (long m) |
Adds m new space dimensions and embeds the old polyhedron in the new vector space. More... | |
| native void | add_space_dimensions_and_project (long m) |
Adds m new space dimensions to the polyhedron and does not embed it in the new vector space. More... | |
| native void | concatenate_assign (Polyhedron y) |
Assigns to this the concatenation of this and y, taken in this order. More... | |
| native void | remove_space_dimensions (Variables_Set vars) |
| Removes all the specified dimensions from the vector space. More... | |
| native void | remove_higher_space_dimensions (long new_dimension) |
Removes the higher dimensions of the vector space so that the resulting space will have dimension new_dimension. More... | |
| native void | expand_space_dimension (Variable var, long m) |
Creates m copies of the space dimension corresponding to var. More... | |
| native void | fold_space_dimensions (Variables_Set vars, Variable dest) |
Folds the space dimensions in vars into dest. More... | |
| native void | map_space_dimensions (Partial_Function pfunc) |
| Remaps the dimensions of the vector space according to a partial function. More... | |
| native Generator_System | generators () |
| Returns the system of generators. | |
| native Generator_System | minimized_generators () |
| Returns the system of generators, with no redundant generator. | |
| native void | add_generator (Generator g) |
Adds a copy of generator g to the system of generators of this (without minimizing the result). More... | |
| native void | add_generators (Generator_System gs) |
Adds a copy of the generators in gs to the system of generators of this (without minimizing the result). More... | |
| native void | poly_hull_assign (Polyhedron y) |
| Same as upper_bound_assign. | |
| native void | poly_difference_assign (Polyhedron y) |
| Same as difference_assign. | |
| native void | BHRZ03_widening_assign (Polyhedron y, By_Reference< Integer > tp) |
Assigns to this the result of computing the BHRZ03-widening between this and y. More... | |
| native void | H79_widening_assign (Polyhedron y, By_Reference< Integer > tp) |
Assigns to this the result of computing the H79-widening between this and y. More... | |
| native void | limited_BHRZ03_extrapolation_assign (Polyhedron y, Constraint_System cs, By_Reference< Integer > tp) |
Improves the result of the BHRZ03-widening computation by also enforcing those constraints in cs that are satisfied by all the points of this. More... | |
| native void | limited_H79_extrapolation_assign (Polyhedron y, Constraint_System cs, By_Reference< Integer > tp) |
Improves the result of the H79-widening computation by also enforcing those constraints in cs that are satisfied by all the points of this. More... | |
| native void | bounded_BHRZ03_extrapolation_assign (Polyhedron y, Constraint_System cs, By_Reference< Integer > tp) |
Improves the result of the BHRZ03-widening computation by also enforcing those constraints in cs that are satisfied by all the points of this, plus all the constraints of the form and , with , that are satisfied by all the points of this. More... | |
| native void | bounded_H79_extrapolation_assign (Polyhedron y, Constraint_System cs, By_Reference< Integer > tp) |
Improves the result of the H79-widening computation by also enforcing those constraints in cs that are satisfied by all the points of this, plus all the constraints of the form and , with , that are satisfied by all the points of this. More... | |
Static Public Member Functions | |
| static native Pair< C_Polyhedron, Pointset_Powerset_NNC_Polyhedron > | linear_partition (C_Polyhedron p, C_Polyhedron q) |
Partitions q with respect to p. More... | |
Protected Member Functions | |
| native void | finalize () |
Releases all resources managed by this. | |
A topologically closed convex polyhedron.
| parma_polyhedra_library.C_Polyhedron.C_Polyhedron | ( | long | d, |
| Degenerate_Element | kind | ||
| ) |
Builds a new C polyhedron of dimension d.
If kind is EMPTY, the newly created polyhedron will be empty; otherwise, it will be a universe polyhedron.
| parma_polyhedra_library.C_Polyhedron.C_Polyhedron | ( | C_Polyhedron | y, |
| Complexity_Class | complexity | ||
| ) |
Builds a new C polyhedron that is a copy of ph.
The complexity argument is ignored.
| parma_polyhedra_library.C_Polyhedron.C_Polyhedron | ( | Constraint_System | cs | ) |
Builds a new C polyhedron from the system of constraints cs.
The new polyhedron will inherit the space dimension of cs.
| parma_polyhedra_library.C_Polyhedron.C_Polyhedron | ( | Congruence_System | cgs | ) |
Builds a new C polyhedron from the system of congruences cgs.
The new polyhedron will inherit the space dimension of cgs.
| parma_polyhedra_library.C_Polyhedron.C_Polyhedron | ( | NNC_Polyhedron | y, |
| Complexity_Class | complexity | ||
| ) |
Builds a C polyhedron that is a copy of the topological closure of the NNC polyhedron y.
The complexity argument is ignored, since the exact constructor has polynomial complexity.
| parma_polyhedra_library.C_Polyhedron.C_Polyhedron | ( | Generator_System | gs | ) |
Builds a new C polyhedron from the system of generators gs.
The new polyhedron will inherit the space dimension of gs.
| native boolean parma_polyhedra_library.C_Polyhedron.upper_bound_assign_if_exact | ( | C_Polyhedron | y | ) |
If the upper bound of this and y is exact it is assigned to this and true is returned; otherwise false is returned.
| Invalid_Argument_Exception | Thrown if this and y are dimension-incompatible. |
|
static |
Partitions q with respect to p.
Let p and q be two polyhedra. The function returns a pair object r such that
r.first is the intersection of p and q;r.second has the property that all its elements are pairwise disjoint and disjoint from p;r.first with all the elements of r.second gives q (i.e., r is the representation of a partition of q).