Package org.apache.sysds.runtime.data
Class DenseBlockLString
- java.lang.Object
-
- org.apache.sysds.runtime.data.DenseBlock
-
- org.apache.sysds.runtime.data.DenseBlockLDRB
-
- org.apache.sysds.runtime.data.DenseBlockLString
-
- All Implemented Interfaces:
Serializable
,Block
public class DenseBlockLString 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
-
-
Constructor Summary
Constructors Constructor Description DenseBlockLString(int[] dims)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description long
capacity()
Get the total length of allocated blocks.void
fillBlock(int bix, int fromIndex, int toIndex, double v)
Fill a certain range of elements of a block.void
fillRow(int r, double v)
Fill the DenseBlock row index with the value specified.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.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, int c, double v)
Set the given value for a given row and column.DenseBlock
set(String s)
Set the given string for the entire dense block (fill).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, countNonZeros, countNonZeros, index, isContiguous, pos, pos, pos, reset, resetNoFill, set, set, set, size
-
-
-
-
Method Detail
-
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
-
numBlocks
public int numBlocks()
Description copied from class:DenseBlock
Get the number of allocated blocks.- Specified by:
numBlocks
in classDenseBlock
- Returns:
- number of blocks
-
capacity
public long capacity()
Description copied from class:DenseBlock
Get the total length of allocated blocks.- Specified by:
capacity
in classDenseBlock
- Returns:
- capacity
-
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
-
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
-
fillBlock
public void fillBlock(int bix, int fromIndex, int toIndex, double v)
Description copied from class:DenseBlock
Fill a certain range of elements of a block.- Specified by:
fillBlock
in classDenseBlock
- Parameters:
bix
- index of blockfromIndex
- starting index in blocktoIndex
- ending index in block (exclusive)v
- value
-
fillRow
public void fillRow(int r, double v)
Description copied from class:DenseBlock
Fill the DenseBlock row index with the value specified.- Specified by:
fillRow
in classDenseBlock
- Parameters:
r
- The row to fillv
- The value to fill it with.
-
set
public DenseBlock set(String s)
Description copied from class:DenseBlock
Set the given string for the entire dense block (fill). Generally the string will be parsed, except for string DenseBlock.- Overrides:
set
in classDenseBlock
- Parameters:
s
- string- Returns:
- self
-
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(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
-
-