public final class DArrayDimension extends DAPNode
DArray
.
Each array dimension carries with it its own projection information, as
well as it's name and size.
The projection information takes the form of three integers: the start,
stop, and stride values. This is clearest with an example. Consider a
one-dimensional array 10 elements long. If the start value of the
dimension constraint is 3, then the constrained array appears to be seven
elements long. If the stop value is changed to 7, then the array appears
to be five elements long. If the stride is changed to two, the array will
appear to be 3 elements long. Array constraints are written as
[start:stride:stop]
.
DArray
,
Serialized FormModifier and Type | Class and Description |
---|---|
static class |
DArrayDimension.Slice |
DAPNode.CloneMap
_nameClear, _nameEncoded, log
Constructor and Description |
---|
DArrayDimension(int size,
java.lang.String name)
Construct a new DArrayDimension.
|
Modifier and Type | Method and Description |
---|---|
DAPNode |
cloneDAG(DAPNode.CloneMap map)
Returns a clone of this
Array . |
DArray |
getContainer() |
int |
getSize()
Get the dimension size.
|
int |
getStart()
Get the projection start point for this dimension.
|
int |
getStop()
Get the projection stop point for this dimension.
|
int |
getStride()
Get the projection stride size for this dimension.
|
void |
printConstraint(java.io.PrintWriter os) |
void |
setContainer(DArray da) |
void |
setProjection(int start,
int stride,
int stop)
Set the projection information for this dimension.
|
void |
setSize(int size)
Set the dimension size.
|
clone, cloneDAG, getClearName, getEncodedName, getParent, isProject, setClearName, setEncodedName, setParent, setProject, setProject, setProjected
public DArrayDimension(int size, java.lang.String name)
size
- The size of the dimension.name
- The dimension's name, or null if no name.public int getSize()
public void setSize(int size)
public int getStart()
public int getStride()
public int getStop()
public void setContainer(DArray da)
public DArray getContainer()
public void printConstraint(java.io.PrintWriter os)
public void setProjection(int start, int stride, int stop) throws InvalidDimensionException
start
stride
and stop
are checked to verify that they make sense relative to each other and to
the size of this dimension. If not an Invalid ParameterException is thrown.
The general rule is: 0<=start<size, 0<stride, 0<=stop<size, start<=stop.start
- The starting point for the projection of this DArrayDimension
.stride
- The size of the stride for the projection of this DArrayDimension
.stop
- The stopping point for the projection of this DArrayDimension
.InvalidDimensionException
public DAPNode cloneDAG(DAPNode.CloneMap map) throws java.lang.CloneNotSupportedException
Array
.
See DAPNode.cloneDag()