tileDim[k] = Math.min(processingTileDim[k], dim[k] - tilePos[k]); // exclusive
assert tileDim[k] > 0; // because processingTileDim[k] > 0: checked in the constructor
tileMax[k] = tilePos[k] + tileDim[k] - 1;
extTileDim[k] = DependenceApertureBuilder.safelyAdd(tileDim[k], maxAperture.width(k));
extTilePos[k] = tilePos[k] + maxAperture.min(k);
extTileMax[k] = tileMax[k] + maxAperture.max(k);
tileSize *= tileDim[k];
}
final ArrayContext ac =
nt == 1 ?
context.part(readyElementsCount, readyElementsCount + tileSize, matrixSize) :