Package org.apache.sysds.runtime.data
Class DenseBlockLFP64DEDUP
- java.lang.Object
-
- org.apache.sysds.runtime.data.DenseBlock
-
- org.apache.sysds.runtime.data.DenseBlockLDRB
-
- org.apache.sysds.runtime.data.DenseBlockLFP64DEDUP
-
- All Implemented Interfaces:
Serializable
,Block
public class DenseBlockLFP64DEDUP extends DenseBlockLDRB
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.sysds.runtime.data.DenseBlock
DenseBlock.Type
-
-
Field Summary
-
Fields inherited from class org.apache.sysds.runtime.data.DenseBlockLDRB
MAX_ALLOC
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description long
capacity()
Get the total length of allocated blocks.long
countNonZeros()
Compute the number of non-zero values, which potentially makes a full pass over the underlying blocks.int
countNonZeros(int r)
Compute the number of non-zero values for the given row, which potentially makes a full pass over the underlying row.double
get(int[] ix)
Get the value of a given celldouble
get(int r, int c)
Get the value for a given row and column.long
getLong(int[] ix)
Get the value of a given cell as longString
getString(int[] ix)
Get the value of a given cell as a Stringvoid
incr(int r, int c)
Increments the given value for a given row and column.void
incr(int r, int c, double delta)
Increments the given value for a given row and column by delta.boolean
isContiguous()
Indicates if the dense block has a single underlying block, i.e., if numBlocks==1.boolean
isNumeric()
Indicates if the dense block is numeric.boolean
isNumeric(Types.ValueType vt)
Indicates if the dense block is a specific numeric value type.int
numBlocks()
Get the number of allocated blocks.int
pos(int r)
Get the position for a given row within its associated block.void
reset(int rlen, int[] odims, double v)
Resets the dense block by setting the given value.DenseBlock
set(int[] ix, double v)
Set the specified cell to the given value.DenseBlock
set(int[] ix, long v)
Set the specified cell to the given value.DenseBlock
set(int[] ix, String v)
Set the specified cell to the given value.DenseBlock
set(int r, double[] v)
Copy the given vector into the given row.DenseBlock
set(int r, int c, double v)
Set the given value for a given row and column.DenseBlock
set(DenseBlock db)
Copy the given dense block.double[]
values(int r)
Get the allocated block for the given row.double[]
valuesAt(int bix)
Get an allocated block.-
Methods inherited from class org.apache.sysds.runtime.data.DenseBlockLDRB
blockSize, blockSize, countNonZeros, index, isContiguous, pos, pos, resetNoFill, set, set, size
-
-
-
-
Method Detail
-
reset
public void reset(int rlen, int[] odims, double v)
Description copied from class:DenseBlock
Resets the dense block by setting the given value.- Overrides:
reset
in classDenseBlockLDRB
- Parameters:
rlen
- number of rowsodims
- other dimensionsv
- value
-
isNumeric
public boolean isNumeric()
Description copied from class:DenseBlock
Indicates if the dense block is numeric.- Specified by:
isNumeric
in classDenseBlock
- Returns:
- true if numeric (FP, INT, BOOLEAN)
-
isNumeric
public boolean isNumeric(Types.ValueType vt)
Description copied from class:DenseBlock
Indicates if the dense block is a specific numeric value type.- Specified by:
isNumeric
in classDenseBlock
- Parameters:
vt
- value type to check- Returns:
- true if numeric and of value type vt
-
isContiguous
public boolean isContiguous()
Description copied from class:DenseBlock
Indicates if the dense block has a single underlying block, i.e., if numBlocks==1.- Specified by:
isContiguous
in classDenseBlock
- Returns:
- true if single block
-
capacity
public long capacity()
Description copied from class:DenseBlock
Get the total length of allocated blocks.- Specified by:
capacity
in classDenseBlock
- Returns:
- capacity
-
countNonZeros
public long countNonZeros()
Description copied from class:DenseBlock
Compute the number of non-zero values, which potentially makes a full pass over the underlying blocks.- Overrides:
countNonZeros
in classDenseBlockLDRB
- Returns:
- number of non-zeros
-
countNonZeros
public int countNonZeros(int r)
Description copied from class:DenseBlock
Compute the number of non-zero values for the given row, which potentially makes a full pass over the underlying row.- Overrides:
countNonZeros
in classDenseBlockLDRB
- Parameters:
r
- row index- Returns:
- number of non-zeros
-
pos
public int pos(int r)
Description copied from class:DenseBlock
Get the position for a given row within its associated block.- Overrides:
pos
in classDenseBlockLDRB
- Parameters:
r
- row index- Returns:
- block position
-
values
public double[] values(int r)
Description copied from class:DenseBlock
Get the allocated block for the given row. This call is equivalent to valuesAt(indexes(r)).- Specified by:
values
in classDenseBlock
- Parameters:
r
- row index- Returns:
- block
-
valuesAt
public double[] valuesAt(int bix)
Description copied from class:DenseBlock
Get an allocated block.- Specified by:
valuesAt
in classDenseBlock
- Parameters:
bix
- block index- Returns:
- block
-
numBlocks
public int numBlocks()
Description copied from class:DenseBlock
Get the number of allocated blocks.- Specified by:
numBlocks
in classDenseBlock
- Returns:
- number of blocks
-
incr
public void incr(int r, int c)
Description copied from class:DenseBlock
Increments the given value for a given row and column.- Specified by:
incr
in classDenseBlock
- Parameters:
r
- row indexc
- column index
-
incr
public void incr(int r, int c, double delta)
Description copied from class:DenseBlock
Increments the given value for a given row and column by delta.- Specified by:
incr
in classDenseBlock
- Parameters:
r
- row indexc
- column indexdelta
- increment value
-
set
public DenseBlock set(int r, int c, double v)
Description copied from class:DenseBlock
Set the given value for a given row and column.- Specified by:
set
in classDenseBlock
- Parameters:
r
- row indexc
- column indexv
- value- Returns:
- self
-
set
public DenseBlock set(int r, double[] v)
Description copied from class:DenseBlock
Copy the given vector into the given row.- Overrides:
set
in classDenseBlockLDRB
- Parameters:
r
- row indexv
- value vector- Returns:
- self
-
set
public DenseBlock set(DenseBlock db)
Description copied from class:DenseBlock
Copy the given dense block.- Overrides:
set
in classDenseBlockLDRB
- Parameters:
db
- dense block- Returns:
- self
-
set
public DenseBlock set(int[] ix, double v)
Description copied from class:DenseBlock
Set the specified cell to the given value.- Specified by:
set
in classDenseBlock
- Parameters:
ix
- cell indexesv
- value- Returns:
- self
-
set
public DenseBlock set(int[] ix, long v)
Description copied from class:DenseBlock
Set the specified cell to the given value.- Specified by:
set
in classDenseBlock
- Parameters:
ix
- cell indexesv
- value- Returns:
- self
-
set
public DenseBlock set(int[] ix, String v)
Description copied from class:DenseBlock
Set the specified cell to the given value.- Specified by:
set
in classDenseBlock
- Parameters:
ix
- cell indexesv
- value as String- Returns:
- self
-
get
public double get(int r, int c)
Description copied from class:DenseBlock
Get the value for a given row and column.- Specified by:
get
in interfaceBlock
- Specified by:
get
in classDenseBlock
- Parameters:
r
- row indexc
- column index- Returns:
- value
-
get
public double get(int[] ix)
Description copied from class:DenseBlock
Get the value of a given cell- Specified by:
get
in classDenseBlock
- Parameters:
ix
- cell indexes- Returns:
- value
-
getString
public String getString(int[] ix)
Description copied from class:DenseBlock
Get the value of a given cell as a String- Specified by:
getString
in classDenseBlock
- Parameters:
ix
- cell indexes- Returns:
- value as String
-
getLong
public long getLong(int[] ix)
Description copied from class:DenseBlock
Get the value of a given cell as long- Specified by:
getLong
in classDenseBlock
- Parameters:
ix
- cell indexes- Returns:
- value as long
-
-