Class MatrixCell
- java.lang.Object
-
- org.apache.sysds.runtime.matrix.data.MatrixValue
-
- org.apache.sysds.runtime.matrix.data.MatrixCell
-
- All Implemented Interfaces:
Serializable
,Comparable
,org.apache.hadoop.io.Writable
,org.apache.hadoop.io.WritableComparable
- Direct Known Subclasses:
WeightedCell
public class MatrixCell extends MatrixValue implements Serializable
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.sysds.runtime.matrix.data.MatrixValue
MatrixValue.CellIndex
-
-
Constructor Summary
Constructors Constructor Description MatrixCell()
MatrixCell(double v)
MatrixCell(MatrixCell that)
MatrixCell(MatrixValue that)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MatrixValue
aggregateUnaryOperations(AggregateUnaryOperator op, MatrixValue result, int blen, MatrixIndexes indexesIn)
MatrixValue
aggregateUnaryOperations(AggregateUnaryOperator op, MatrixValue result, int blen, MatrixIndexes indexesIn, boolean inCP)
void
append(MatrixValue valueIn2, ArrayList<IndexedMatrixValue> outlist, int blen, boolean cbind, boolean m2IsLast, int nextNCol)
MatrixValue
binaryOperations(BinaryOperator op, MatrixValue thatValue, MatrixValue result)
MatrixValue
binaryOperationsInPlace(BinaryOperator op, MatrixValue thatValue)
int
compareTo(Object o)
int
compareTo(MatrixCell o)
void
copy(MatrixValue that)
Copy that MatrixValue into this MatrixValue.void
copy(MatrixValue that, boolean sp)
Copy that MatrixValue into this MatrixValue.void
ctableOperations(Operator op, double scalarThat, double scalarThat2, CTableMap resultMap, MatrixBlock resultBlock)
void
ctableOperations(Operator op, double scalarThat, MatrixValue that2, CTableMap resultMap, MatrixBlock resultBlock)
void
ctableOperations(Operator op, MatrixIndexes ix1, double scalarThat, boolean left, int blen, CTableMap resultMap, MatrixBlock resultBlock)
void
ctableOperations(Operator op, MatrixValue that, double scalarThat2, boolean ignoreZeros, CTableMap ctableResult, MatrixBlock ctableResultBlock)
void
ctableOperations(Operator op, MatrixValue that, MatrixValue that2, CTableMap resultMap, MatrixBlock resultBlock)
void
denseScalarOperationsInPlace(ScalarOperator op)
boolean
equals(Object o)
long
getNonZeros()
int
getNumColumns()
int
getNumRows()
double
getValue()
double
getValue(int r, int c)
int
hashCode()
void
incrementalAggregate(AggregateOperator aggOp, MatrixValue newWithCorrection)
void
incrementalAggregate(AggregateOperator aggOp, MatrixValue correction, MatrixValue newWithCorrection, boolean deep)
boolean
isEmpty()
boolean
isInSparseFormat()
void
readFields(DataInput in)
MatrixValue
reorgOperations(ReorgOperator op, MatrixValue result, int startRow, int startColumn, int length)
MatrixValue
replaceOperations(MatrixValue result, double pattern, double replacement)
void
reset()
void
reset(int rl, int cl)
void
reset(int rl, int cl, boolean sp)
void
reset(int rl, int cl, boolean sp, long nnzs)
void
reset(int rl, int cl, double v)
MatrixValue
scalarOperations(ScalarOperator op, MatrixValue result)
void
setValue(double v)
void
setValue(int r, int c, double v)
void
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.void
sparseScalarOperationsInPlace(ScalarOperator op)
void
sparseUnaryOperationsInPlace(UnaryOperator op)
MatrixValue
unaryOperations(UnaryOperator op, MatrixValue result)
void
write(DataOutput out)
MatrixValue
zeroOutOperations(MatrixValue result, IndexRange range, boolean complementary)
-
-
-
Constructor Detail
-
MatrixCell
public MatrixCell()
-
MatrixCell
public MatrixCell(MatrixCell that)
-
MatrixCell
public MatrixCell(MatrixValue that)
-
MatrixCell
public MatrixCell(double v)
-
-
Method Detail
-
setValue
public void setValue(double v)
-
getValue
public double getValue()
-
copy
public void copy(MatrixValue that, boolean sp)
Description copied from class:MatrixValue
Copy that MatrixValue into this MatrixValue. But select sparse destination block depending on boolean parameter.- Specified by:
copy
in classMatrixValue
- Parameters:
that
- object to copy the values into.sp
- boolean specifying if output should be forced sparse or dense. (only applicable if the 'that' is a MatrixBlock)
-
copy
public void copy(MatrixValue that)
Description copied from class:MatrixValue
Copy that MatrixValue into this MatrixValue. If the MatrixValue is a MatrixBlock evaluate the sparsity of the original matrix, and copy into either a sparse or a dense matrix.- Specified by:
copy
in classMatrixValue
- Parameters:
that
- object to copy the values into.
-
getNonZeros
public long getNonZeros()
- Specified by:
getNonZeros
in classMatrixValue
-
getNumColumns
public int getNumColumns()
- Specified by:
getNumColumns
in classMatrixValue
-
getNumRows
public int getNumRows()
- Specified by:
getNumRows
in classMatrixValue
-
getValue
public double getValue(int r, int c)
- Specified by:
getValue
in classMatrixValue
-
isInSparseFormat
public boolean isInSparseFormat()
- Specified by:
isInSparseFormat
in classMatrixValue
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty
in classMatrixValue
-
readFields
public void readFields(DataInput in) throws IOException
- Specified by:
readFields
in interfaceorg.apache.hadoop.io.Writable
- Throws:
IOException
-
reset
public void reset()
- Specified by:
reset
in classMatrixValue
-
reset
public void reset(int rl, int cl)
- Specified by:
reset
in classMatrixValue
-
reset
public void reset(int rl, int cl, boolean sp)
- Specified by:
reset
in classMatrixValue
-
reset
public void reset(int rl, int cl, boolean sp, long nnzs)
- Specified by:
reset
in classMatrixValue
-
reset
public void reset(int rl, int cl, double v)
- Specified by:
reset
in classMatrixValue
-
setValue
public void setValue(int r, int c, double v)
- Specified by:
setValue
in classMatrixValue
-
write
public void write(DataOutput out) throws IOException
- Specified by:
write
in interfaceorg.apache.hadoop.io.Writable
- Throws:
IOException
-
aggregateUnaryOperations
public MatrixValue aggregateUnaryOperations(AggregateUnaryOperator op, MatrixValue result, int blen, MatrixIndexes indexesIn)
- Specified by:
aggregateUnaryOperations
in classMatrixValue
-
binaryOperations
public MatrixValue binaryOperations(BinaryOperator op, MatrixValue thatValue, MatrixValue result)
- Specified by:
binaryOperations
in classMatrixValue
-
binaryOperationsInPlace
public MatrixValue binaryOperationsInPlace(BinaryOperator op, MatrixValue thatValue)
- Specified by:
binaryOperationsInPlace
in classMatrixValue
-
denseScalarOperationsInPlace
public void denseScalarOperationsInPlace(ScalarOperator op)
-
reorgOperations
public MatrixValue reorgOperations(ReorgOperator op, MatrixValue result, int startRow, int startColumn, int length)
- Specified by:
reorgOperations
in classMatrixValue
-
scalarOperations
public MatrixValue scalarOperations(ScalarOperator op, MatrixValue result)
- Specified by:
scalarOperations
in classMatrixValue
-
sparseScalarOperationsInPlace
public void sparseScalarOperationsInPlace(ScalarOperator op)
-
sparseUnaryOperationsInPlace
public void sparseUnaryOperationsInPlace(UnaryOperator op)
-
unaryOperations
public MatrixValue unaryOperations(UnaryOperator op, MatrixValue result)
- Specified by:
unaryOperations
in classMatrixValue
-
compareTo
public int compareTo(MatrixCell o)
-
compareTo
public int compareTo(Object o)
- Specified by:
compareTo
in interfaceComparable
-
incrementalAggregate
public void incrementalAggregate(AggregateOperator aggOp, MatrixValue correction, MatrixValue newWithCorrection, boolean deep)
- Specified by:
incrementalAggregate
in classMatrixValue
-
zeroOutOperations
public MatrixValue zeroOutOperations(MatrixValue result, IndexRange range, boolean complementary)
- Specified by:
zeroOutOperations
in classMatrixValue
-
incrementalAggregate
public void incrementalAggregate(AggregateOperator aggOp, MatrixValue newWithCorrection)
- Specified by:
incrementalAggregate
in classMatrixValue
-
ctableOperations
public void ctableOperations(Operator op, MatrixValue that, MatrixValue that2, CTableMap resultMap, MatrixBlock resultBlock)
- Specified by:
ctableOperations
in classMatrixValue
-
ctableOperations
public void ctableOperations(Operator op, MatrixValue that, double scalarThat2, boolean ignoreZeros, CTableMap ctableResult, MatrixBlock ctableResultBlock)
- Specified by:
ctableOperations
in classMatrixValue
-
ctableOperations
public void ctableOperations(Operator op, double scalarThat, double scalarThat2, CTableMap resultMap, MatrixBlock resultBlock)
- Specified by:
ctableOperations
in classMatrixValue
-
ctableOperations
public void ctableOperations(Operator op, MatrixIndexes ix1, double scalarThat, boolean left, int blen, CTableMap resultMap, MatrixBlock resultBlock)
- Specified by:
ctableOperations
in classMatrixValue
-
ctableOperations
public void ctableOperations(Operator op, double scalarThat, MatrixValue that2, CTableMap resultMap, MatrixBlock resultBlock)
- Specified by:
ctableOperations
in classMatrixValue
-
slice
public void slice(ArrayList<IndexedMatrixValue> outlist, IndexRange range, int rowCut, int colCut, int blen, int boundaryRlen, int boundaryClen)
Description copied from class:MatrixValue
Slice out up to 4 matrixBlocks that are separated by the row and col Cuts. This is used in the context of spark execution to distributed sliced out matrix blocks of correct block size.- Specified by:
slice
in classMatrixValue
- Parameters:
outlist
- The output matrix blocks that is extracted from the matrixrange
- An index range containing overlapping information.rowCut
- The row to cut and split the matrix.colCut
- The column to cut ans split the matrix.blen
- The Block size of the output matrices.boundaryRlen
- The row length of the edge case matrix block, used for the final blocks that does not have enough rows to construct a full block.boundaryClen
- The col length of the edge case matrix block, used for the final blocks that does not have enough cols to construct a full block.
-
replaceOperations
public MatrixValue replaceOperations(MatrixValue result, double pattern, double replacement)
- Specified by:
replaceOperations
in classMatrixValue
-
aggregateUnaryOperations
public MatrixValue aggregateUnaryOperations(AggregateUnaryOperator op, MatrixValue result, int blen, MatrixIndexes indexesIn, boolean inCP)
- Specified by:
aggregateUnaryOperations
in classMatrixValue
-
append
public void append(MatrixValue valueIn2, ArrayList<IndexedMatrixValue> outlist, int blen, boolean cbind, boolean m2IsLast, int nextNCol)
- Specified by:
append
in classMatrixValue
-
-