Package apron
Class Generator0
java.lang.Object
apron.Generator0
- All Implemented Interfaces:
Serializable
,Cloneable
Class of geometrical features of level 0 linear abstract elements.
A generator is a 0- or 1-dimensional affine feature of a polyhedron: a vertex, a ray, or a line. Generator0 objects represent generators on level 0 abstract objects: variables are denoted by dimension (i.e., integer starting from 0).
A Generator0 is represented as a (sparse or dense) linear expression,
i.e., a Linexpr0
expression where the constant coefficient
is ignored and all coefficients are scalar.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionCoordinates of the generator.int
static final int
Line: { lambda * coord | lambda in R }.static final int
Modular line: { lambda * coord | lambda in Z }.static final int
Ray: { lambda * coord | lambda >= 0 in R }.static final int
Modular ray: { lambda * coord | lambda in N }.static final int
Vertex: { coord }. -
Constructor Summary
ConstructorsConstructorDescriptionGenerator0
(int k, Linexpr0 c) Creates a new generator of the given kind with the given coordinate.Creates a copy of g. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds some dimensions and shifts coefficients accordingly .Returns a copy of the generator with some dimensions added.clone()
Returns a copy of this.boolean
Whether x is a Generator0 and structurally equal to this.int
getKind()
int
hashCode()
Returns a hash of the generator.boolean
Whether this and x have identical coordinate.void
Permutes some dimensions in the generator.Returns a copy of the generator with some dimensions permuted.void
void
setKind
(int k) toString()
Returns a string representation of the generator.Returns a string representation of the generator.
-
Field Details
-
coord
Coordinates of the generator.All coefficients must be scalar.
The constant coefficient is ignored.
-
kind
public int kind -
LINE
public static final int LINELine: { lambda * coord | lambda in R }.- See Also:
-
RAY
public static final int RAYRay: { lambda * coord | lambda >= 0 in R }.- See Also:
-
VERTEX
public static final int VERTEXVertex: { coord }.- See Also:
-
LINEMOD
public static final int LINEMODModular line: { lambda * coord | lambda in Z }.- See Also:
-
RAYMOD
public static final int RAYMODModular ray: { lambda * coord | lambda in N }.- See Also:
-
-
Constructor Details
-
Generator0
Creates a new generator of the given kind with the given coordinate.c is referenced, not copied.
-
Generator0
Creates a copy of g.The linear expression (coordinate) is copied.
-
-
Method Details
-
toString
Returns a string representation of the generator.Dimension i is denoted as xi.
-
toString
Returns a string representation of the generator.Dimension i is denoted by names[i].
-
toString
-
hashCode
public int hashCode()Returns a hash of the generator. -
addDimensions
Adds some dimensions and shifts coefficients accordingly . -
permuteDimensions
Permutes some dimensions in the generator. -
addDimensionsCopy
Returns a copy of the generator with some dimensions added.this is not changed.
-
permuteDimensionsCopy
Returns a copy of the generator with some dimensions permuted.this is not changed.
-
clone
Returns a copy of this. -
isEqual
Whether this and x have identical coordinate. -
equals
Whether x is a Generator0 and structurally equal to this. -
getCoordinate
-
getKind
public int getKind() -
setCoordinate
-
setKind
public void setKind(int k)
-