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 unit
A - the absolute scalar type belonging to the absolute matrix type
AV - the absolute vector type belonging to the absolute matrix type
AM - the (immutable or mutable) absolute matrix type
RU - the relative unit belonging to the absolute unit
R - the relative scalar type belonging to the relative matrix type
RV - the relative vector type belonging to the relative matrix type
RM - 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-2019 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
  • Constructor Details

  • Method Details

    • plus

      public AM plus​(AM increment)
      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 interface Matrix.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 - AV; 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

      public abstract AM instantiateMatrixAbs​(FloatMatrixData dmd, AU displayUnit)
      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 matrix
      displayUnit - AU; the display unit of the absolute matrix
      Returns:
      AM; an absolute matrix of the correct type, belonging to this relative matrix type
    • instantiateVectorAbs

      public abstract AV instantiateVectorAbs​(FloatVectorData dvd, AU displayUnit)
      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 vector
      displayUnit - AU; the display unit of the absolute vector
      Returns:
      AV; an absolute vector of the correct type, belonging to this relative matrix type
    • instantiateScalarAbsSI

      public abstract A instantiateScalarAbsSI​(float valueSI, AU displayUnit)
      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 scalar
      displayUnit - 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