# Uses of Class
org.apache.sysds.runtime.util.IndexRange

Packages that use IndexRange
Package
Description
org.apache.sysds.hops
org.apache.sysds.runtime.compress
org.apache.sysds.runtime.controlprogram.caching
org.apache.sysds.runtime.controlprogram.federated
org.apache.sysds.runtime.data
org.apache.sysds.runtime.frame.data
org.apache.sysds.runtime.instructions.ooc
org.apache.sysds.runtime.instructions.spark
org.apache.sysds.runtime.matrix.data
org.apache.sysds.runtime.ooc.stream
org.apache.sysds.runtime.ooc.stream.message
org.apache.sysds.runtime.ooc.util
org.apache.sysds.runtime.transform.encode
org.apache.sysds.runtime.util

## Uses of IndexRange in org.apache.sysds.hops

Methods in org.apache.sysds.hops with parameters of type IndexRange
Modifier and Type
Method
Description
`static boolean`
OptimizerUtils.`isIndexingRangeBlockAligned(IndexRange ixrange, DataCharacteristics mc)`
Indicates if the given indexing range is block aligned, i.e., it does not require global aggregation of blocks.

## Uses of IndexRange in org.apache.sysds.runtime.compress

Methods in org.apache.sysds.runtime.compress with parameters of type IndexRange
Modifier and Type
Method
Description
`void`
CompressedMatrixBlock.`slice(ArrayList<IndexedMatrixValue> outlist, IndexRange range, int rowCut, int colCut, int blen, int boundaryRlen, int boundaryClen)`
`MatrixBlock`
CompressedMatrixBlock.`zeroOutOperations(MatrixValue result, IndexRange range)`

## Uses of IndexRange in org.apache.sysds.runtime.controlprogram.caching

Methods in org.apache.sysds.runtime.controlprogram.caching with parameters of type IndexRange
Modifier and Type
Method
Description
`String`
MatrixObject.`getPartitionFileName(IndexRange pred, int blen)`
`MatrixBlock`
MatrixObject.`readMatrixPartition(IndexRange pred)`
NOTE: for reading matrix partitions, we could cache (in its real sense) the read block with soft references (no need for eviction, as partitioning only applied for read-only matrices).
`CacheBlock<T>`
CacheBlock.`slice(IndexRange ixrange, T ret)`
Slice a sub block out of the current block and write into the given output block.

## Uses of IndexRange in org.apache.sysds.runtime.controlprogram.federated

Methods in org.apache.sysds.runtime.controlprogram.federated that return IndexRange
Modifier and Type
Method
Description
`IndexRange`
FederatedRange.`asIndexRange()`
Methods in org.apache.sysds.runtime.controlprogram.federated with parameters of type IndexRange
Modifier and Type
Method
Description
`FederationMap`
FederationMap.`filter(IndexRange ixrange)`

## Uses of IndexRange in org.apache.sysds.runtime.data

Methods in org.apache.sysds.runtime.data with parameters of type IndexRange
Modifier and Type
Method
Description
`final TensorBlock`
TensorBlock.`slice(IndexRange ixrange, TensorBlock ret)`

## Uses of IndexRange in org.apache.sysds.runtime.frame.data

Methods in org.apache.sysds.runtime.frame.data with parameters of type IndexRange
Modifier and Type
Method
Description
`FrameBlock`
FrameBlock.`leftIndexingOperations(FrameBlock rhsFrame, IndexRange ixrange, FrameBlock ret)`
`void`
FrameBlock.`slice(ArrayList<Pair<Long,FrameBlock>> outList, IndexRange range, int rowCut)`
`final FrameBlock`
FrameBlock.`slice(IndexRange ixrange, FrameBlock ret)`
`FrameBlock`
FrameBlock.`zeroOutOperations(FrameBlock result, IndexRange range, boolean complementary, int iRowStartSrc, int iRowStartDest, int blen, int iMaxRowsToCopy)`
This function ZERO OUT the data in the slicing window applicable for this block.

## Uses of IndexRange in org.apache.sysds.runtime.instructions.ooc

Method parameters in org.apache.sysds.runtime.instructions.ooc with type arguments of type IndexRange
Modifier and Type
Method
Description
`void`
CachingStream.`setIXTransform(BiFunction<Boolean,IndexRange,IndexRange> transform)`
`void`
CachingStream.`setIXTransform(BiFunction<Boolean,IndexRange,IndexRange> transform)`
`void`
OOCStreamable.`setIXTransform(BiFunction<Boolean,IndexRange,IndexRange> transform)`
`void`
OOCStreamable.`setIXTransform(BiFunction<Boolean,IndexRange,IndexRange> transform)`
`void`
PlaybackStream.`setIXTransform(BiFunction<Boolean,IndexRange,IndexRange> transform)`
`void`
PlaybackStream.`setIXTransform(BiFunction<Boolean,IndexRange,IndexRange> transform)`
`void`
SubscribableTaskQueue.`setIXTransform(BiFunction<Boolean,IndexRange,IndexRange> transform)`
`void`
SubscribableTaskQueue.`setIXTransform(BiFunction<Boolean,IndexRange,IndexRange> transform)`
Constructors in org.apache.sysds.runtime.instructions.ooc with parameters of type IndexRange
Modifier
Constructor
Description
``
`BlockAligner(IndexRange range, int blocksize)`

## Uses of IndexRange in org.apache.sysds.runtime.instructions.spark

Methods in org.apache.sysds.runtime.instructions.spark with parameters of type IndexRange
Modifier and Type
Method
Description
`static MatrixBlock`
MatrixIndexingSPInstruction.`inmemoryIndexing(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,MatrixBlock> in1, DataCharacteristics mcIn, DataCharacteristics mcOut, IndexRange ixrange)`
`static boolean`
MatrixIndexingSPInstruction.`isMultiBlockLookup(org.apache.spark.api.java.JavaPairRDD<?,?> in, DataCharacteristics mcIn, DataCharacteristics mcOut, IndexRange ixrange)`
Indicates if the given index range and input matrix exhibit the following properties: (1) existing hash partitioner, (2) out-of-core input matrix (larger than aggregated memory), (3) aligned indexing range (which does not required aggregation), and (4) the output fits twice in memory (in order to collect the result).
`static boolean`
MatrixIndexingSPInstruction.`isSingleBlockLookup(DataCharacteristics mcIn, IndexRange ixrange)`
Indicates if the given index range only covers a single blocks of the inputs matrix.

## Uses of IndexRange in org.apache.sysds.runtime.matrix.data

Methods in org.apache.sysds.runtime.matrix.data with parameters of type IndexRange
Modifier and Type
Method
Description
`final MatrixBlock`
MatrixBlock.`leftIndexingOperations(MatrixBlock rhsMatrix, IndexRange ixrange, MatrixBlock ret, MatrixObject.UpdateType update)`
`static void`
OperationsOnMatrixValues.`performShift(IndexedMatrixValue in, IndexRange ixrange, int blen, long rlen, long clen, ArrayList<IndexedMatrixValue> outlist)`
`static void`
OperationsOnMatrixValues.`performShift(Pair<Long,FrameBlock> in, IndexRange ixrange, int blenLeft, long rlen, long clen, ArrayList<Pair<Long,FrameBlock>> outlist)`
`static ArrayList<IndexedMatrixValue>`
OperationsOnMatrixValues.`performSlice(IndexedMatrixValue in, IndexRange ixrange, int blen)`
`static ArrayList<Pair<Long,FrameBlock>>`
OperationsOnMatrixValues.`performSlice(Pair<Long,FrameBlock> in, IndexRange ixrange, int blen)`
This function will get slice of the input frame block overlapping in overall slice(Range), slice has requested for.
`static List`
OperationsOnMatrixValues.`performSlice(IndexRange ixrange, int blen, int iix, int jix, CacheBlock<?> in)`
Slice used in broadcasting matrix blocks for spark, since this slice up a given matrix into blocks.
`static ArrayList`
OperationsOnMatrixValues.`performSlice(IndexRange ixrange, int blen, int iix, int jix, FrameBlock in)`
`static List`
OperationsOnMatrixValues.`performSlice(IndexRange ixrange, int blen, int iix, int jix, MatrixBlock in)`
`void`
MatrixBlock.`slice(ArrayList<IndexedMatrixValue> outlist, IndexRange range, int rowCut, int colCut, int blen, int boundaryRlen, int boundaryClen)`
`final MatrixBlock`
MatrixBlock.`slice(IndexRange ixrange, MatrixBlock ret)`
`void`
MatrixCell.`slice(ArrayList<IndexedMatrixValue> outlist, IndexRange range, int rowCut, int colCut, int blen, int boundaryRlen, int boundaryClen)`
`abstract void`
MatrixValue.`slice(ArrayList<IndexedMatrixValue> outlist, IndexRange range, int rowCut, int colCut, int blen, int boundaryRlen, int boundaryClen)`
Slice out up to 4 matrixBlocks that are separated by the row and col Cuts.
`static void`
LibMatrixCUDA.`sliceOperations(ExecutionContext ec, GPUContext gCtx, String instName, MatrixObject in1, IndexRange ixrange, String outputName)`
Method to perform rightIndex operation for a given lower and upper bounds in row and column dimensions.
`MatrixBlock`
MatrixBlock.`zeroOutOperations(MatrixValue result, IndexRange range)`
`MatrixValue`
MatrixCell.`zeroOutOperations(MatrixValue result, IndexRange range)`
`abstract MatrixValue`
MatrixValue.`zeroOutOperations(MatrixValue result, IndexRange range)`

## Uses of IndexRange in org.apache.sysds.runtime.ooc.stream

Method parameters in org.apache.sysds.runtime.ooc.stream with type arguments of type IndexRange
Modifier and Type
Method
Description
`void`
FilteredOOCStream.`setIXTransform(BiFunction<Boolean,IndexRange,IndexRange> transform)`
`void`
FilteredOOCStream.`setIXTransform(BiFunction<Boolean,IndexRange,IndexRange> transform)`
`void`
MergedOOCStream.`setIXTransform(BiFunction<Boolean,IndexRange,IndexRange> transform)`
`void`
MergedOOCStream.`setIXTransform(BiFunction<Boolean,IndexRange,IndexRange> transform)`
`void`
SourceOOCStreamable.`setIXTransform(BiFunction<Boolean,IndexRange,IndexRange> transform)`
`void`
SourceOOCStreamable.`setIXTransform(BiFunction<Boolean,IndexRange,IndexRange> transform)`
`void`
SplittingOOCStream.`setIXTransform(BiFunction<Boolean,IndexRange,IndexRange> transform)`
`void`
SplittingOOCStream.`setIXTransform(BiFunction<Boolean,IndexRange,IndexRange> transform)`
`void`
SubOOCStream.`setIXTransform(BiFunction<Boolean,IndexRange,IndexRange> transform)`
`void`
SubOOCStream.`setIXTransform(BiFunction<Boolean,IndexRange,IndexRange> transform)`

## Uses of IndexRange in org.apache.sysds.runtime.ooc.stream.message

Method parameters in org.apache.sysds.runtime.ooc.stream.message with type arguments of type IndexRange
Modifier and Type
Method
Description
`void`
OOCGetStreamTypeMessage.`addIXTransform(BiFunction<Boolean,IndexRange,IndexRange> transform)`
`void`
OOCGetStreamTypeMessage.`addIXTransform(BiFunction<Boolean,IndexRange,IndexRange> transform)`
`void`
OOCStreamMessage.`addIXTransform(BiFunction<Boolean,IndexRange,IndexRange> transform)`
`void`
OOCStreamMessage.`addIXTransform(BiFunction<Boolean,IndexRange,IndexRange> transform)`

## Uses of IndexRange in org.apache.sysds.runtime.ooc.util

Methods in org.apache.sysds.runtime.ooc.util that return IndexRange
Modifier and Type
Method
Description
`static IndexRange`
OOCUtils.`getRangeOfTile(MatrixIndexes tileIdx, long blen)`
Methods in org.apache.sysds.runtime.ooc.util with parameters of type IndexRange
Modifier and Type
Method
Description
`static Collection<MatrixIndexes>`
OOCUtils.`getTilesOfRange(IndexRange range, long blen)`

## Uses of IndexRange in org.apache.sysds.runtime.transform.encode

Methods in org.apache.sysds.runtime.transform.encode with parameters of type IndexRange
Modifier and Type
Method
Description
`int`
MultiColumnEncoder.`getNumExtraCols(IndexRange ixRange)`
`LegacyEncoder`
EncoderMVImpute.`subRangeEncoder(IndexRange ixRange)`
`EncoderOmit`
EncoderOmit.`subRangeEncoder(IndexRange ixRange)`
`LegacyEncoder`
LegacyEncoder.`subRangeEncoder(IndexRange ixRange)`
Returns a new Encoder that only handles a sub range of columns.
`MultiColumnEncoder`
MultiColumnEncoder.`subRangeEncoder(IndexRange ixRange)`
`<T extends ColumnEncoder>
MultiColumnEncoder`
MultiColumnEncoder.`subRangeEncoder(IndexRange ixRange, Class<T> type)`

## Uses of IndexRange in org.apache.sysds.runtime.util

Methods in org.apache.sysds.runtime.util that return IndexRange
Modifier and Type
Method
Description
`IndexRange`
IndexRange.`add(int delta)`
`IndexRange`
IndexRange.`add(long rowDelta, long colDelta)`
`static IndexRange`
UtilFunctions.`getSelectedRangeForZeroOut(IndexedMatrixValue in, int blen, IndexRange indexRange)`
`static IndexRange`
UtilFunctions.`getSelectedRangeForZeroOut(Pair<Long,FrameBlock> in, int blen, IndexRange indexRange, long lSrcRowIndex, long lDestRowIndex)`
`static IndexRange`
IndexRange.`intersect(IndexRange a, IndexRange b)`
Methods in org.apache.sysds.runtime.util with parameters of type IndexRange
Modifier and Type
Method
Description
`static IndexRange`
UtilFunctions.`getSelectedRangeForZeroOut(IndexedMatrixValue in, int blen, IndexRange indexRange)`
`static IndexRange`
UtilFunctions.`getSelectedRangeForZeroOut(Pair<Long,FrameBlock> in, int blen, IndexRange indexRange, long lSrcRowIndex, long lDestRowIndex)`
`static IndexRange`
IndexRange.`intersect(IndexRange a, IndexRange b)`
`static boolean`
UtilFunctions.`isInBlockRange(MatrixIndexes ix, int blen, IndexRange ixrange)`
`static boolean`
UtilFunctions.`isInFrameBlockRange(Long ix, int blen, IndexRange ixrange)`