| 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 thisandyis exact it is assigned tothisandtrueis returned; otherwisefalseis 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 thisis empty; otherwise, returns the affine dimension ofthis. | |
| 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 asthis. | |
| native boolean | is_empty () | 
| Returns trueif and only ifthisis an empty polyhedron. | |
| native boolean | is_universe () | 
| Returns trueif and only ifthisis a universe polyhedron. | |
| native boolean | is_bounded () | 
| Returns trueif and only ifthisis a bounded polyhedron. | |
| native boolean | is_discrete () | 
| Returns trueif and only ifthisis discrete. | |
| native boolean | is_topologically_closed () | 
| Returns trueif and only ifthisis a topologically closed subset of the vector space. | |
| native boolean | contains_integer_point () | 
| Returns trueif and only ifthiscontains at least one integer point. | |
| native boolean | constrains (Variable var) | 
| Returns trueif and only ifvaris constrained inthis.  More... | |
| native boolean | bounds_from_above (Linear_Expression expr) | 
| Returns trueif and only ifexpris bounded from above inthis.  More... | |
| native boolean | bounds_from_below (Linear_Expression expr) | 
| Returns trueif and only ifexpris bounded from below inthis.  More... | |
| native boolean | maximize (Linear_Expression expr, Coefficient sup_n, Coefficient sup_d, By_Reference< Boolean > maximum) | 
| Returns trueif and only ifthisis not empty andexpris bounded from above inthis, 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 trueif and only ifthisis not empty andexpris bounded from below inthis, 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 trueif and only ifthisis not empty andexpris bounded from above inthis, in which case the supremum value and a point whereexprreaches it are computed.  More... | |
| native boolean | minimize (Linear_Expression expr, Coefficient inf_n, Coefficient inf_d, By_Reference< Boolean > minimum, Generator g) | 
| Returns trueif and only ifthisis not empty andexpris bounded from below inthis, in which case the infimum value and a point whereexprreaches it are computed.  More... | |
| native Poly_Con_Relation | relation_with (Constraint c) | 
| Returns the relations holding between the polyhedron thisand the constraintc.  More... | |
| native Poly_Gen_Relation | relation_with (Generator c) | 
| Returns the relations holding between the polyhedron thisand the generatorg.  More... | |
| native Poly_Con_Relation | relation_with (Congruence c) | 
| Returns the relations holding between the polyhedron thisand the congruencec.  More... | |
| native boolean | contains (Polyhedron y) | 
| Returns trueif and only ifthiscontainsy.  More... | |
| native boolean | strictly_contains (Polyhedron y) | 
| Returns trueif and only ifthisstrictly containsy.  More... | |
| native boolean | is_disjoint_from (Polyhedron y) | 
| Returns trueif and only ifthisandyare disjoint.  More... | |
| native boolean | equals (Polyhedron y) | 
| Returns trueif and only ifthisandyare equal. | |
| boolean | equals (Object y) | 
| Returns trueif and only ifthisandyare 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 cto the system of constraints ofthis(without minimizing the result).  More... | |
| native void | add_congruence (Congruence cg) | 
| Adds a copy of congruence cgtothis, ifcgcan be exactly represented by a polyhedron.  More... | |
| native void | add_constraints (Constraint_System cs) | 
| Adds a copy of the constraints in csto the system of constraints ofthis(without minimizing the result).  More... | |
| native void | add_congruences (Congruence_System cgs) | 
| Adds a copy of the congruences in cgstothis, if all the congruences can be exactly represented by a polyhedron.  More... | |
| native void | refine_with_constraint (Constraint c) | 
| Uses a copy of constraint cto refinethis.  More... | |
| native void | refine_with_congruence (Congruence cg) | 
| Uses a copy of congruence cgto refinethis.  More... | |
| native void | refine_with_constraints (Constraint_System cs) | 
| Uses a copy of the constraints in csto refinethis.  More... | |
| native void | refine_with_congruences (Congruence_System cgs) | 
| Uses a copy of the congruences in cgsto refinethis.  More... | |
| native void | intersection_assign (Polyhedron y) | 
| Assigns to thisthe intersection ofthisandy. The result is not guaranteed to be minimized.  More... | |
| native void | upper_bound_assign (Polyhedron y) | 
| Assigns to thisthe upper bound ofthisandy.  More... | |
| native void | difference_assign (Polyhedron y) | 
| Assigns to thisthe poly-difference ofthisandy. The result is not guaranteed to be minimized.  More... | |
| native void | time_elapse_assign (Polyhedron y) | 
| Assigns to thisthe result of computing the time-elapse betweenthisandy.  More... | |
| native void | topological_closure_assign () | 
| Assigns to thisits topological closure. | |
| native boolean | simplify_using_context_assign (Polyhedron y) | 
| Assigns to thisa meet-preserving simplification ofthiswith respect toy. Iffalseis returned, then the intersection is empty.  More... | |
| native void | affine_image (Variable var, Linear_Expression expr, Coefficient denominator) | 
| Assigns to thisthe affine image ofthisunder the function mapping variablevarto the affine expression specified byexpranddenominator.  More... | |
| native void | affine_preimage (Variable var, Linear_Expression expr, Coefficient denominator) | 
| Assigns to thisthe affine preimage ofthisunder the function mapping variablevarto the affine expression specified byexpranddenominator.  More... | |
| native void | bounded_affine_image (Variable var, Linear_Expression lb_expr, Linear_Expression ub_expr, Coefficient denominator) | 
| Assigns to thisthe image ofthiswith 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 thisthe preimage ofthiswith respect to the bounded affine relation .  More... | |
| native void | generalized_affine_image (Variable var, Relation_Symbol relsym, Linear_Expression expr, Coefficient denominator) | 
| Assigns to thisthe image ofthiswith 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 thisthe preimage ofthiswith 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 thisthe image ofthiswith 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 thisthe preimage ofthiswith 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 thiswith respect to space dimensionvar, assigning the result tothis.  More... | |
| native void | unconstrain_space_dimensions (Variables_Set vars) | 
| Computes the cylindrification of thiswith respect to the set of space dimensionsvars, assigning the result tothis.  More... | |
| native void | widening_assign (Polyhedron y, By_Reference< Integer > tp) | 
| Assigns to thisthe result of computing the H79-widening betweenthisandy.  More... | |
| native void | swap (Polyhedron y) | 
| Swaps thiswith polyhedrony. (thisandycan be dimension-incompatible.)  More... | |
| native void | add_space_dimensions_and_embed (long m) | 
| Adds mnew space dimensions and embeds the old polyhedron in the new vector space.  More... | |
| native void | add_space_dimensions_and_project (long m) | 
| Adds mnew space dimensions to the polyhedron and does not embed it in the new vector space.  More... | |
| native void | concatenate_assign (Polyhedron y) | 
| Assigns to thisthe concatenation ofthisandy, 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 mcopies of the space dimension corresponding tovar.  More... | |
| native void | fold_space_dimensions (Variables_Set vars, Variable dest) | 
| Folds the space dimensions in varsintodest.  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 gto the system of generators ofthis(without minimizing the result).  More... | |
| native void | add_generators (Generator_System gs) | 
| Adds a copy of the generators in gsto the system of generators ofthis(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 thisthe result of computing the BHRZ03-widening betweenthisandy.  More... | |
| native void | H79_widening_assign (Polyhedron y, By_Reference< Integer > tp) | 
| Assigns to thisthe result of computing the H79-widening betweenthisandy.  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 csthat are satisfied by all the points ofthis.  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 csthat are satisfied by all the points ofthis.  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 csthat are satisfied by all the points ofthis, 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 csthat are satisfied by all the points ofthis, 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 qwith respect top.  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 thisandyare 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).