Inherits parma_polyhedra_library::Polyhedron.
Public Member Functions | |
Standard Constructors and Destructor | |
C_Polyhedron (long d, Degenerate_Element kind) | |
Builds a new C polyhedron of dimension d . | |
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 . | |
C_Polyhedron (Constraint_System cs) | |
Builds a new C polyhedron from the system of constraints cs . | |
C_Polyhedron (Congruence_System cgs) | |
Builds a new C polyhedron from the system of congruences cgs . | |
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., Grid(C_Polyhedron y) , C_Polyhedron(BD_Shape_mpq_class y) , etc.). Clearly, the conversion operators are only available if both the source and the target semantic geometric descriptions have been enabled when configuring the library. The conversions also taking as argument a complexity class sometimes provide non-trivial precision/efficiency trade-offs. | |
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 . | |
C_Polyhedron (Generator_System gs) | |
Builds a new C polyhedron from the system of generators gs . | |
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. | |
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 . | |
Protected Member Functions | |
native void | finalize () |
Releases all resources managed by this . |
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 native Pair<C_Polyhedron, Pointset_Powerset_NNC_Polyhedron> parma_polyhedra_library::C_Polyhedron::linear_partition | ( | C_Polyhedron | p, | |
C_Polyhedron | q | |||
) | [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
).