public class ReOrderedMatrix<V extends Value<V>> extends java.lang.Object implements Matrix<ReOrderedMatrix<V>,V>
Matrix.Order| Constructor and Description |
|---|
ReOrderedMatrix(Matrix<?,V> source) |
| Modifier and Type | Method and Description |
|---|---|
ReOrderedMatrix<V> |
add(Matrix<?,?> value)
add the value to this
|
int |
compareTo(Matrix<?,?> o) |
ReOrderedMatrix<V> |
copy() |
ReOrderedMatrix<V> |
divide(double value) |
ReOrderedMatrix<V> |
divide(long value) |
ReOrderedMatrix<V> |
divide(Value<?> value) |
protected Matrix<?,V> |
getComponent() |
java.util.List<V> |
getData() |
java.util.List<java.util.List<V>> |
getData2() |
Vector2<IntValue> |
getDimensions2()
Get the dimensions as: [columns, rows].
|
V |
getElement(int major,
int minor) |
int |
getMajorSize() |
Vector<?,V> |
getMajorVector(int index) |
int |
getMinorSize() |
Vector<?,V> |
getMinorVector(int index) |
Matrix.Order |
getOrder() |
Matrix<?,V> |
getTransposed() |
ReOrderedMatrix<V> |
getValue()
This should always return the correct current value for this Expression.
|
Observable<Expression<? extends ReOrderedMatrix<V>>> |
invalidations() |
ReOrderedMatrix<V> |
multiply(double value) |
ReOrderedMatrix<V> |
multiply(long value) |
ReOrderedMatrix<V> |
multiply(Matrix<?,?> value) |
ReOrderedMatrix<V> |
multiply(Value<?> value) |
ReOrderedMatrix<V> |
negate() |
ReOrderedMatrix<V> |
operateOnData(java.util.function.BiFunction<? super V,java.lang.Integer,? extends V> operator) |
ReOrderedMatrix<V> |
operateOnData(java.util.function.Function<? super V,? extends V> operator) |
ReOrderedMatrix<V> |
operateOnData2(TriFunction<? super V,java.lang.Integer,java.lang.Integer,? extends V> operator) |
ReOrderedMatrix<V> |
preMultiply(Matrix<?,?> value) |
ReOrderedMatrix<V> |
subtract(Matrix<?,?> value)
subtract the value from this
|
ReOrderedMatrix<V> |
transpose() |
Matrix<?,V> |
withOrder(Matrix.Order order) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitassertDimensions, assertDimensions, assertIsSquare, getColumnSize, getColumnVector, getColumnVectors, getData, getData, getData, getData, getData2, getData2, getData2, getData2, getDataSize, getDoubleData, getDoubleData2, getFloatData, getFloatData2, getIntData, getIntData2, getLongData, getLongData2, getMajorVectors, getMinorVectors, getRowSize, getRowVector, getRowVectors, isSquare, multiplyData, operateOnData, operateOnData2, preMultiplyData, setData, setData, setData, setData, setData, setData, setData, setData, setData, setData2, setData2, setData2, setData2, setData2, setData2, setData2, setData2, transposeDataanonymize, decoupleValue, immutable, over, overdivide, divide, getDivided, getDivided, getDivided, getDivided, getDivided, getMultiplied, getMultiplied, getMultiplied, getMultiplied, getMultiplied, multiply, multiplygetSubtractedgetNegatedgetPreMultipliedgetMultipliedpublic ReOrderedMatrix<V> copy()
public int compareTo(Matrix<?,?> o)
compareTo in interface java.lang.Comparable<Matrix<?,?>>public ReOrderedMatrix<V> getValue()
ExpressionExpression, i.e. it should be either an immutable class, a const
reference, or a copy of the underlying value. This is important, but
conversely it does not mean that the return value can necessarily be
relied upon not to not mutate when this expression is updated, unless a read
lock is held.
Once a value has been returned, it is up to the implementing Expression as to
whether the value will be reliable such that it will remain the same even if
the conceptual value of this expression subsequently changes, or whether it
will update automatically with the expression. Please only rely on either
behavior if it is explicitly documented, otherwise use
Expression.decoupleValue() if you need a persistent reference which is safe
to mutate and/or safe from external mutation.
The observers should only ever be notified of an update from the thread which
has the write lock on an Expression, and Expressions should
be careful to only notify observers when they are in a state where their
value can be fetched. Immediate fetch is discouraged, though. Expressions
should generally update lazily, not eagerly.
getValue in interface Expression<ReOrderedMatrix<V extends Value<V>>>public Observable<Expression<? extends ReOrderedMatrix<V>>> invalidations()
invalidations in interface Expression<ReOrderedMatrix<V extends Value<V>>>public Matrix.Order getOrder()
public Vector<?,V> getMajorVector(int index)
getMajorVector in interface Matrix<ReOrderedMatrix<V extends Value<V>>,V extends Value<V>>public Vector<?,V> getMinorVector(int index)
getMinorVector in interface Matrix<ReOrderedMatrix<V extends Value<V>>,V extends Value<V>>public java.util.List<V> getData()
public java.util.List<java.util.List<V>> getData2()
public int getMajorSize()
getMajorSize in interface Matrix<ReOrderedMatrix<V extends Value<V>>,V extends Value<V>>public int getMinorSize()
getMinorSize in interface Matrix<ReOrderedMatrix<V extends Value<V>>,V extends Value<V>>public V getElement(int major, int minor)
getElement in interface Matrix<ReOrderedMatrix<V extends Value<V>>,V extends Value<V>>public ReOrderedMatrix<V> operateOnData(java.util.function.Function<? super V,? extends V> operator)
operateOnData in interface Matrix<ReOrderedMatrix<V extends Value<V>>,V extends Value<V>>public ReOrderedMatrix<V> operateOnData(java.util.function.BiFunction<? super V,java.lang.Integer,? extends V> operator)
operateOnData in interface Matrix<ReOrderedMatrix<V extends Value<V>>,V extends Value<V>>public ReOrderedMatrix<V> operateOnData2(TriFunction<? super V,java.lang.Integer,java.lang.Integer,? extends V> operator)
operateOnData2 in interface Matrix<ReOrderedMatrix<V extends Value<V>>,V extends Value<V>>public ReOrderedMatrix<V> transpose()
public ReOrderedMatrix<V> multiply(Value<?> value)
public ReOrderedMatrix<V> multiply(long value)
public ReOrderedMatrix<V> multiply(double value)
public ReOrderedMatrix<V> divide(Value<?> value)
public ReOrderedMatrix<V> divide(long value)
public ReOrderedMatrix<V> divide(double value)
public ReOrderedMatrix<V> subtract(Matrix<?,?> value)
Subtractablepublic ReOrderedMatrix<V> add(Matrix<?,?> value)
Addablepublic ReOrderedMatrix<V> negate()
public ReOrderedMatrix<V> preMultiply(Matrix<?,?> value)
preMultiply in interface Matrix<ReOrderedMatrix<V extends Value<V>>,V extends Value<V>>preMultiply in interface NonCommutativelyMultipliable<ReOrderedMatrix<V extends Value<V>>,Matrix<?,?>>public ReOrderedMatrix<V> multiply(Matrix<?,?> value)
public Matrix<?,V> withOrder(Matrix.Order order)
public Vector2<IntValue> getDimensions2()
MatrixgetDimensions2 in interface Matrix<ReOrderedMatrix<V extends Value<V>>,V extends Value<V>>