Package org.apache.sysds.runtime.data
Class DenseBlockDRB
- java.lang.Object
-
- org.apache.sysds.runtime.data.DenseBlock
-
- org.apache.sysds.runtime.data.DenseBlockDRB
-
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
DenseBlockBool,DenseBlockFP32,DenseBlockFP64,DenseBlockInt32,DenseBlockInt64,DenseBlockString
public abstract class DenseBlockDRB extends DenseBlock
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.sysds.runtime.data.DenseBlock
DenseBlock.Type
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intblockSize()Get the number of rows per block, except last one.intblockSize(int bix)Get the number of rows of the given block.longcountNonZeros()Compute the number of non-zero values, which potentially makes a full pass over the underlying blocks.intcountNonZeros(int r)Compute the number of non-zero values for the given row, which potentially makes a full pass over the underlying row.longcountNonZeros(int rl, int ru, int ol, int ou)Compute the number of non-zero values, which potentially makes a full pass over the underlying blocks in the row range.booleanisContiguous()Indicates if the dense block has a single underlying block, i.e., if numBlocks==1.booleanisContiguous(int rl, int ru)Indicates if the dense block has a single underlying block for the given row range.intnumBlocks()Get the number of allocated blocks.intpos(int r)Get the position for a given row within its associated block.intpos(int[] ix)Get the position for a given cell within the associated block.intpos(int r, int c)Get the position for a given row and column within the associated block.voidreset(int rlen, int[] odims, double v)Resets the dense block by setting the given value.DenseBlockset(double v)Set the given value for the entire dense block (fill).DenseBlockset(int rl, int ru, int cl, int cu, double v)Set the given value for an entire index range of the dense block (fill).intsize(int bix)Get the length of the given block.-
Methods inherited from class org.apache.sysds.runtime.data.DenseBlock
capacity, estimateMemory, get, get, getCumODims, getDim, getLong, getNextIndexes, getString, incr, incr, index, isNumeric, isNumeric, numDims, numRows, reset, reset, reset, reset, reset, reset, set, set, set, set, set, set, set, set, set, set, setDims, size, toString, values, valuesAt
-
-
-
-
Method Detail
-
reset
public void reset(int rlen, int[] odims, double v)Description copied from class:DenseBlockResets the dense block by setting the given value.- Specified by:
resetin classDenseBlock- Parameters:
rlen- number of rowsodims- other dimensionsv- value
-
numBlocks
public int numBlocks()
Description copied from class:DenseBlockGet the number of allocated blocks.- Specified by:
numBlocksin classDenseBlock- Returns:
- number of blocks
-
blockSize
public int blockSize()
Description copied from class:DenseBlockGet the number of rows per block, except last one.- Specified by:
blockSizein classDenseBlock- Returns:
- number of rows in block
-
blockSize
public int blockSize(int bix)
Description copied from class:DenseBlockGet the number of rows of the given block.- Specified by:
blockSizein classDenseBlock- Parameters:
bix- block index- Returns:
- number of rows in block
-
isContiguous
public boolean isContiguous()
Description copied from class:DenseBlockIndicates if the dense block has a single underlying block, i.e., if numBlocks==1.- Specified by:
isContiguousin classDenseBlock- Returns:
- true if single block
-
isContiguous
public boolean isContiguous(int rl, int ru)Description copied from class:DenseBlockIndicates if the dense block has a single underlying block for the given row range.- Specified by:
isContiguousin classDenseBlock- Parameters:
rl- row lower indexru- row upper index (inclusive)- Returns:
- true if single block in row range
-
size
public int size(int bix)
Description copied from class:DenseBlockGet the length of the given block.- Specified by:
sizein classDenseBlock- Parameters:
bix- block index- Returns:
- length
-
pos
public int pos(int r)
Description copied from class:DenseBlockGet the position for a given row within its associated block.- Specified by:
posin classDenseBlock- Parameters:
r- row index- Returns:
- block position
-
pos
public int pos(int r, int c)Description copied from class:DenseBlockGet the position for a given row and column within the associated block.- Specified by:
posin classDenseBlock- Parameters:
r- row indexc- column index- Returns:
- block position
-
pos
public int pos(int[] ix)
Description copied from class:DenseBlockGet the position for a given cell within the associated block.- Specified by:
posin classDenseBlock- Parameters:
ix- cell indexes- Returns:
- block position
-
countNonZeros
public long countNonZeros()
Description copied from class:DenseBlockCompute the number of non-zero values, which potentially makes a full pass over the underlying blocks.- Specified by:
countNonZerosin classDenseBlock- Returns:
- number of non-zeros
-
countNonZeros
public int countNonZeros(int r)
Description copied from class:DenseBlockCompute the number of non-zero values for the given row, which potentially makes a full pass over the underlying row.- Specified by:
countNonZerosin classDenseBlock- Parameters:
r- row index- Returns:
- number of non-zeros
-
countNonZeros
public long countNonZeros(int rl, int ru, int ol, int ou)Description copied from class:DenseBlockCompute the number of non-zero values, which potentially makes a full pass over the underlying blocks in the row range.- Specified by:
countNonZerosin classDenseBlock- Parameters:
rl- row lower indexru- row upper index (exclusive)ol- column lower indexou- column upper index (exclusive)- Returns:
- number of non-zeros
-
set
public DenseBlock set(int rl, int ru, int cl, int cu, double v)
Description copied from class:DenseBlockSet the given value for an entire index range of the dense block (fill).- Specified by:
setin classDenseBlock- Parameters:
rl- row lower indexru- row upper index (exclusive)cl- column lower indexcu- column upper index (exclusive)v- value- Returns:
- self
-
set
public DenseBlock set(double v)
Description copied from class:DenseBlockSet the given value for the entire dense block (fill).- Specified by:
setin classDenseBlock- Parameters:
v- value- Returns:
- self
-
-