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.intstatic final intLine: { lambda * coord | lambda in R }.static final intModular line: { lambda * coord | lambda in Z }.static final intRay: { lambda * coord | lambda >= 0 in R }.static final intModular ray: { lambda * coord | lambda in N }.static final intVertex: { 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 TypeMethodDescriptionvoidAdds some dimensions and shifts coefficients accordingly .Returns a copy of the generator with some dimensions added.clone()Returns a copy of this.booleanWhether x is a Generator0 and structurally equal to this.intgetKind()inthashCode()Returns a hash of the generator.booleanWhether this and x have identical coordinate.voidPermutes some dimensions in the generator.Returns a copy of the generator with some dimensions permuted.voidvoidsetKind(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)
-