Class AbstractFloatMatrixRelWithAbs<AU extends AbsoluteLinearUnit<AU,RU>,A extends AbstractFloatScalarAbs<AU,A,RU,R>,AV extends AbstractFloatVectorAbs<AU,A,AV,RU,R,RV>,AM extends AbstractFloatMatrixAbs<AU,A,AV,AM,RU,R,RV,RM>,RU extends Unit<RU>,R extends AbstractFloatScalarRelWithAbs<AU,A,RU,R>,RV extends AbstractFloatVectorRelWithAbs<AU,A,AV,RU,R,RV>,RM extends AbstractFloatMatrixRelWithAbs<AU,A,AV,AM,RU,R,RV,RM>>
java.lang.Object
org.djunits.value.AbstractValue<U,T>
org.djunits.value.AbstractIndexedValue<U,S,M,FloatMatrixData>
org.djunits.value.vfloat.matrix.base.AbstractFloatMatrix<U,S,RV,RM>
org.djunits.value.vfloat.matrix.base.AbstractFloatMatrixRel<RU,R,RV,RM>
org.djunits.value.vfloat.matrix.base.AbstractFloatMatrixRelWithAbs<AU,A,AV,AM,RU,R,RV,RM>
- Type Parameters:
AU
- the absolute unit belonging to the relative unitA
- the absolute scalar type belonging to the absolute matrix typeAV
- the absolute vector type belonging to the absolute matrix typeAM
- the (immutable or mutable) absolute matrix typeRU
- the relative unit belonging to the absolute unitR
- the relative scalar type belonging to the relative matrix typeRV
- the relative vector type belonging to the relative matrix typeRM
- the relative (immutable or mutable) matrix type with this unit
- All Implemented Interfaces:
Serializable
,Cloneable
,Matrix<RU,R,RV,RM>
,Matrix.Rel<RU,R,RV,RM>
,Matrix.RelWithAbs<AU,A,AV,AM,RU,R,RV,RM>
,ValueFunctions<RU,RM>
,IndexedValue<RU,R,RM>
,Relative<RU,RM>
,Value<RU,RM>
,FloatMatrixInterface<RU,R,RV,RM>
- Direct Known Subclasses:
FloatAngleMatrix
,FloatDurationMatrix
,FloatLengthMatrix
,FloatTemperatureMatrix
public abstract class AbstractFloatMatrixRelWithAbs<AU extends AbsoluteLinearUnit<AU,RU>,A extends AbstractFloatScalarAbs<AU,A,RU,R>,AV extends AbstractFloatVectorAbs<AU,A,AV,RU,R,RV>,AM extends AbstractFloatMatrixAbs<AU,A,AV,AM,RU,R,RV,RM>,RU extends Unit<RU>,R extends AbstractFloatScalarRelWithAbs<AU,A,RU,R>,RV extends AbstractFloatVectorRelWithAbs<AU,A,AV,RU,R,RV>,RM extends AbstractFloatMatrixRelWithAbs<AU,A,AV,AM,RU,R,RV,RM>> extends AbstractFloatMatrixRel<RU,R,RV,RM> implements Matrix.RelWithAbs<AU,A,AV,AM,RU,R,RV,RM>
AbstractMutableFloatMatrixRelWithAbs.java.
Copyright (c) 2019-2020 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See DJUNITS License.
- Author:
- Alexander Verbraeck
- See Also:
- Serialized Form
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.djunits.value.base.Matrix
Matrix.Abs<AU extends AbsoluteLinearUnit<AU,RU>,A extends Scalar<AU,A>,AV extends Vector.Abs<AU,A,AV,RU,R,RV>,AM extends Matrix.Abs<AU,A,AV,AM,RU,R,RV,RM>,RU extends Unit<RU>,R extends Scalar<RU,R>,RV extends Vector.RelWithAbs<AU,A,AV,RU,R,RV>,RM extends Matrix.RelWithAbs<AU,A,AV,AM,RU,R,RV,RM>>, Matrix.Rel<U extends Unit<U>,S extends Scalar<U,S>,V extends Vector<U,S,V>,RM extends Matrix.Rel<U,S,V,RM>>, Matrix.RelWithAbs<AU extends AbsoluteLinearUnit<AU,RU>,A extends Scalar<AU,A>,AV extends Vector.Abs<AU,A,AV,RU,R,RV>,AM extends Matrix.Abs<AU,A,AV,AM,RU,R,RV,RM>,RU extends Unit<RU>,R extends Scalar<RU,R>,RV extends Vector.RelWithAbs<AU,A,AV,RU,R,RV>,RM extends Matrix.RelWithAbs<AU,A,AV,AM,RU,R,RV,RM>>
-
Field Summary
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractFloatMatrixRelWithAbs(FloatMatrixData data, RU unit)
Construct a new Relative Mutable FloatMatrix. -
Method Summary
Modifier and Type Method Description abstract AM
instantiateMatrixAbs(FloatMatrixData dmd, AU displayUnit)
Instantiate a new absolute matrix of the class of this relative matrix.abstract A
instantiateScalarAbsSI(float valueSI, AU displayUnit)
Instantiate a new absolute scalar for the class of this relative matrix.abstract AV
instantiateVectorAbs(FloatVectorData dvd, AU displayUnit)
Instantiate a new absolute vector of the class of this relative matrix.AM
plus(AM increment)
Add an absolute matrix to this relative matrix.Methods inherited from class org.djunits.value.vfloat.matrix.base.AbstractFloatMatrixRel
decrementBy, decrementBy, divide, divide, divide, divideBy, incrementBy, incrementBy, minus, multiplyBy, plus, times, times, times, zSum
Methods inherited from class org.djunits.value.vfloat.matrix.base.AbstractFloatMatrix
abs, assign, ceil, checkColumnIndex, checkIndex, checkRowIndex, checkSquare, cols, determinant, equals, floor, get, getColumn, getColumnScalars, getColumnSI, getData, getDiagonal, getDiagonalScalars, getDiagonalSI, getInUnit, getInUnit, getRow, getRowScalars, getRowSI, getScalars, getSI, getValuesInUnit, getValuesInUnit, getValuesSI, hashCode, neg, rint, rows, set, setData, setInUnit, setInUnit, setSI, toDense, toSparse, toString, toString, toString, toString
Methods inherited from class org.djunits.value.AbstractIndexedValue
cardinality, checkCopyOnWrite, clone, getStorageType, immutable, isCopyOnWrite, isDense, isMutable, isSparse, mutable, setCopyOnWrite, setMutable
Methods inherited from class org.djunits.value.AbstractValue
getDisplayUnit, isAbsolute, isRelative, setDisplayUnit
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.djunits.value.vfloat.matrix.base.FloatMatrixInterface
instantiateMatrix, instantiateScalarSI, instantiateVector
Methods inherited from interface org.djunits.value.IndexedValue
cardinality, getScalarClass, getStorageType, immutable, isDense, isMutable, isSparse, mutable, toDense, toSparse
Methods inherited from interface org.djunits.value.base.Matrix
cols, get, getColumn, getColumnScalars, getDiagonal, getDiagonalScalars, getRow, getRowScalars, getScalars, getVectorClass, rows
Methods inherited from interface org.djunits.value.base.Matrix.Rel
divideBy, minus, multiplyBy, plus
Methods inherited from interface org.djunits.value.Value
getDisplayUnit, isAbsolute, isRelative, setDisplayUnit, toString, toString, toString, toString
-
Constructor Details
-
AbstractFloatMatrixRelWithAbs
Construct a new Relative Mutable FloatMatrix.- Parameters:
data
- FloatMatrixData; an internal data objectunit
- RU; the unit
-
-
Method Details
-
plus
Add an absolute matrix to this relative matrix. A new matrix is returned. When the matrix itself needs to be changed, use the increaseBy(V) method instead. The addition is done value by value and the result is stored in a new matrix. If both operands are sparse, the result is a sparse matrix, otherwise the result is a dense matrix.- Specified by:
plus
in interfaceMatrix.RelWithAbs<AU extends AbsoluteLinearUnit<AU,RU>,A extends AbstractFloatScalarAbs<AU,A,RU,R>,AV extends AbstractFloatVectorAbs<AU,A,AV,RU,R,RV>,AM extends AbstractFloatMatrixAbs<AU,A,AV,AM,RU,R,RV,RM>,RU extends Unit<RU>,R extends AbstractFloatScalarRelWithAbs<AU,A,RU,R>,RV extends AbstractFloatVectorRelWithAbs<AU,A,AV,RU,R,RV>,RM extends AbstractFloatMatrixRelWithAbs<AU,A,AV,AM,RU,R,RV,RM>>
- Parameters:
increment
- AM; the absolute matrix (mutable or immutable, sparse or dense) to add to this relative matrix- Returns:
- AMV; the sum of this matrix and the operand as a new absolute, mutable matrix
-
instantiateMatrixAbs
Instantiate a new absolute matrix of the class of this relative matrix. This can be used instead of the FloatMatrix.instiantiate() methods in case another matrix of this relative with absolute class is known. The method is faster than FloatMatrix.instantiate, and it will also work if the matrix is user-defined.- Parameters:
dmd
- FloatMatrixData; the data used to instantiate the matrixdisplayUnit
- AU; the display unit of the absolute matrix- Returns:
- AM; an absolute matrix of the correct type, belonging to this relative matrix type
-
instantiateVectorAbs
Instantiate a new absolute vector of the class of this relative matrix. This can be used instead of the FloatVector.instiantiate() methods in case another matrix of this relative with absolute class is known. The method is faster than FloatVector.instantiate, and it will also work if the matrix or vector is user-defined.- Parameters:
dvd
- FloatVectorData; the data used to instantiate the vectordisplayUnit
- AU; the display unit of the absolute vector- Returns:
- AV; an absolute vector of the correct type, belonging to this relative matrix type
-
instantiateScalarAbsSI
Instantiate a new absolute scalar for the class of this relative matrix. This can be used instead of the FloatScalar.instiantiate() methods in case a matrix of this class is known. The method is faster than FloatScalar.instantiate, and it will also work if the matrix and/or scalar are user-defined.- Parameters:
valueSI
- float; the SI value of the absolute scalardisplayUnit
- AU; the unit in which the absolute value will be displayed- Returns:
- A; an absolute scalar of the correct type, belonging to this relative matrix type
-