com.io7m.jtensors.parameterized

## Class PMatrixHeapArrayM4x4F<T0,T1>

- java.lang.Object
- - com.io7m.jtensors.parameterized.PMatrixHeapArrayM4x4F<T0,T1>

- Type Parameters:
    `T0` - A phantom type parameter
    `T1` - A phantom type parameter
  All Implemented Interfaces:
    Matrix4x4FType, MatrixReadable2x2FType, MatrixReadable3x3FType, MatrixReadable4x4FType, MatrixReadableFType, MatrixWritable2x2FType, MatrixWritable3x3FType, MatrixWritable4x4FType, MatrixWritableFType, PMatrix4x4FType<T0,T1>, PMatrixReadable4x4FType<T0,T1>, PMatrixReadableFType<T0,T1>, PMatrixWritable4x4FType<T0,T1>, PMatrixWritableFType<T0,T1>

      public final class PMatrixHeapArrayM4x4F<T0,T1>
      extends Object
      implements PMatrix4x4FType<T0,T1>

  The default implementation of the `PMatrix4x4FType` interface.

  This implementation stores values in a plain on-heap array.

  Since:
    7.0.0

- - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(Object obj)`
    `float` | `getR0C0F()`
    `float` | `getR0C1F()`
    `float` | `getR0C2F()`
    `float` | `getR0C3F()`
    `float` | `getR1C0F()`
    `float` | `getR1C1F()`
    `float` | `getR1C2F()`
    `float` | `getR1C3F()`
    `float` | `getR2C0F()`
    `float` | `getR2C1F()`
    `float` | `getR2C2F()`
    `float` | `getR2C3F()`
    `float` | `getR3C0F()`
    `float` | `getR3C1F()`
    `float` | `getR3C2F()`
    `float` | `getR3C3F()`
    `<V extends VectorWritable2FType> void` | `getRow2F(int row, V out)` Retrieve row `row`, saving the result to `out`.
    `<V extends VectorWritable2FType> void` | `getRow2FUnsafe(int row, V out)` Retrieve row `row`, saving the result to `out`.
    `<V extends VectorWritable3FType> void` | `getRow3F(int row, V out)` Retrieve row `row`, saving the result to `out`.
    `<V extends VectorWritable3FType> void` | `getRow3FUnsafe(int row, V out)` Retrieve row `row`, saving the result to `out`.
    `<V extends VectorWritable4FType> void` | `getRow4F(int row, V out)` Retrieve row `row`, saving the result to `out`.
    `<V extends VectorWritable4FType> void` | `getRow4FUnsafe(int row, V out)` Retrieve row `row`, saving the result to `out`.
    `float` | `getRowColumnF(int row, int column)`
    `int` | `hashCode()`
    `static <T0,T1> PMatrix4x4FType<T0,T1>` | `newMatrix()`
    `static <T0,T1> PMatrix4x4FType<T0,T1>` | `newMatrixFrom(PMatrixReadable4x4FType<T0,T1> m)`
    `void` | `setR0C0F(float x)` Set row 0, column 0 of the matrix to `x`.
    `void` | `setR0C1F(float x)` Set row 0, column 1 of the matrix to `x`.
    `void` | `setR0C2F(float x)` Set row 0, column 2 of the matrix to `x`.
    `void` | `setR0C3F(float x)` Set row 0, column 3 of the matrix to `x`.
    `void` | `setR1C0F(float x)` Set row 1, column 0 of the matrix to `x`.
    `void` | `setR1C1F(float x)` Set row 1, column 1 of the matrix to `x`.
    `void` | `setR1C2F(float x)` Set row 1, column 2 of the matrix to `x`.
    `void` | `setR1C3F(float x)` Set row 1, column 3 of the matrix to `x`.
    `void` | `setR2C0F(float x)` Set row 2, column 0 of the matrix to `x`.
    `void` | `setR2C1F(float x)` Set row 2, column 1 of the matrix to `x`.
    `void` | `setR2C2F(float x)` Set row 2, column 2 of the matrix to `x`.
    `void` | `setR2C3F(float x)` Set row 2, column 3 of the matrix to `x`.
    `void` | `setR3C0F(float x)` Set row 3, column 0 of the matrix to `x`.
    `void` | `setR3C1F(float x)` Set row 3, column 1 of the matrix to `x`.
    `void` | `setR3C2F(float x)` Set row 3, column 2 of the matrix to `x`.
    `void` | `setR3C3F(float x)` Set row 3, column 3 of the matrix to `x`.
    `void` | `setRow0With4F(VectorReadable4FType v)` Set row 0 to `v`.
    `void` | `setRow1With4F(VectorReadable4FType v)` Set row 1 to `v`.
    `void` | `setRow2With4F(VectorReadable4FType v)` Set row 2 to `v`.
    `void` | `setRow3With4F(VectorReadable4FType v)` Set row 3 to `v`.
    `void` | `setRowColumnF(int row, int column, float value)` Set the value from the matrix at row `row`, column `column` to `value`.
    `void` | `setRowWith2F(int row, VectorReadable2FType v)` Set row `row` of the matrix to `v`.
    `void` | `setRowWith2FUnsafe(int row, VectorReadable2FType v)` Set row `row` of the matrix to `v`.
    `void` | `setRowWith3F(int row, VectorReadable3FType v)` Set row `row` of the matrix to `v`.
    `void` | `setRowWith3FUnsafe(int row, VectorReadable3FType v)` Set row `row` of the matrix to `v`.
    `void` | `setRowWith4F(int row, VectorReadable4FType v)` Set row `row` of the matrix to `v`.
    `void` | `setRowWith4FUnsafe(int row, VectorReadable4FType v)` Set row `row` of the matrix to `v`.
    `String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Method Detail

    - #### newMatrix

          public static <T0,T1> PMatrix4x4FType<T0,T1> newMatrix()

      Type Parameters:
        `T0` - A phantom type parameter
        `T1` - A phantom type parameter
      Returns:
        A new identity matrix

    - #### newMatrixFrom

          public static <T0,T1> PMatrix4x4FType<T0,T1> newMatrixFrom(PMatrixReadable4x4FType<T0,T1> m)

      Type Parameters:
        `T0` - A phantom type parameter
        `T1` - A phantom type parameter
      Parameters:
        `m` - The source matrix
      Returns:
        A new matrix based on the given matrix

    - #### equals

          public boolean equals(@Nullable
                                Object obj)

      Overrides:
        `equals` in class `Object`

    - #### getRow4F

          public <V extends VectorWritable4FType> void getRow4F(int row,
                                                                V out)

      Description copied from interface: `MatrixReadable4x4FType`
      Retrieve row `row`, saving the result to `out`.
      Specified by:
        `getRow4F` in interface `MatrixReadable4x4FType`
      Type Parameters:
        `V` - The precise type of writable vector.
      Parameters:
        `row` - The index of the row, starting at `0`.
        `out` - The output vector.

    - #### getRow4FUnsafe

          public <V extends VectorWritable4FType> void getRow4FUnsafe(int row,
                                                                      V out)

      Description copied from interface: `MatrixReadable4x4FType`
      Retrieve row `row`, saving the result to `out`. No bounds checking is performed for `row`, and out-of-bounds values result in undefined behaviour.
      Specified by:
        `getRow4FUnsafe` in interface `MatrixReadable4x4FType`
      Type Parameters:
        `V` - The precise type of writable vector.
      Parameters:
        `row` - The index of the row, starting at `0`.
        `out` - The output vector.

    - #### getR0C3F

          public float getR0C3F()

      Specified by:
        `getR0C3F` in interface `MatrixReadable4x4FType`
      Returns:
        The value at row 0, column 3

    - #### setR0C3F

          public void setR0C3F(float x)

      Description copied from interface: `MatrixWritable4x4FType`
      Set row 0, column 3 of the matrix to `x`.
      Specified by:
        `setR0C3F` in interface `MatrixWritable4x4FType`
      Parameters:
        `x` - The value

    - #### setRowWith4F

          public void setRowWith4F(int row,
                                   VectorReadable4FType v)

      Description copied from interface: `MatrixWritable4x4FType`
      Set row `row` of the matrix to `v`.
      Specified by:
        `setRowWith4F` in interface `MatrixWritable4x4FType`
      Parameters:
        `row` - The row index
        `v` - The row vector

    - #### setRowWith4FUnsafe

          public void setRowWith4FUnsafe(int row,
                                         VectorReadable4FType v)

      Description copied from interface: `MatrixWritable4x4FType`
      Set row `row` of the matrix to `v`. No bounds checking is performed for `row`, and out-of-bounds values result in undefined behaviour.
      Specified by:
        `setRowWith4FUnsafe` in interface `MatrixWritable4x4FType`
      Parameters:
        `row` - The row index
        `v` - The row vector

    - #### setRow0With4F

          public void setRow0With4F(VectorReadable4FType v)

      Description copied from interface: `MatrixWritable4x4FType`
      Set row 0 to `v`.
      Specified by:
        `setRow0With4F` in interface `MatrixWritable4x4FType`
      Parameters:
        `v` - The row vector

    - #### setRow1With4F

          public void setRow1With4F(VectorReadable4FType v)

      Description copied from interface: `MatrixWritable4x4FType`
      Set row 1 to `v`.
      Specified by:
        `setRow1With4F` in interface `MatrixWritable4x4FType`
      Parameters:
        `v` - The row vector

    - #### setRow2With4F

          public void setRow2With4F(VectorReadable4FType v)

      Description copied from interface: `MatrixWritable4x4FType`
      Set row 2 to `v`.
      Specified by:
        `setRow2With4F` in interface `MatrixWritable4x4FType`
      Parameters:
        `v` - The row vector

    - #### setRow3With4F

          public void setRow3With4F(VectorReadable4FType v)

      Description copied from interface: `MatrixWritable4x4FType`
      Set row 3 to `v`.
      Specified by:
        `setRow3With4F` in interface `MatrixWritable4x4FType`
      Parameters:
        `v` - The row vector

    - #### getR1C3F

          public float getR1C3F()

      Specified by:
        `getR1C3F` in interface `MatrixReadable4x4FType`
      Returns:
        The value at row 1, column 3

    - #### setR1C3F

          public void setR1C3F(float x)

      Description copied from interface: `MatrixWritable4x4FType`
      Set row 1, column 3 of the matrix to `x`.
      Specified by:
        `setR1C3F` in interface `MatrixWritable4x4FType`
      Parameters:
        `x` - The value

    - #### getR2C3F

          public float getR2C3F()

      Specified by:
        `getR2C3F` in interface `MatrixReadable4x4FType`
      Returns:
        The value at row 2, column 3

    - #### setR2C3F

          public void setR2C3F(float x)

      Description copied from interface: `MatrixWritable4x4FType`
      Set row 2, column 3 of the matrix to `x`.
      Specified by:
        `setR2C3F` in interface `MatrixWritable4x4FType`
      Parameters:
        `x` - The value

    - #### getR3C0F

          public float getR3C0F()

      Specified by:
        `getR3C0F` in interface `MatrixReadable4x4FType`
      Returns:
        The value at row 3, column 0

    - #### setR3C0F

          public void setR3C0F(float x)

      Description copied from interface: `MatrixWritable4x4FType`
      Set row 3, column 0 of the matrix to `x`.
      Specified by:
        `setR3C0F` in interface `MatrixWritable4x4FType`
      Parameters:
        `x` - The value

    - #### getR3C1F

          public float getR3C1F()

      Specified by:
        `getR3C1F` in interface `MatrixReadable4x4FType`
      Returns:
        The value at row 3, column 1

    - #### setR3C1F

          public void setR3C1F(float x)

      Description copied from interface: `MatrixWritable4x4FType`
      Set row 3, column 1 of the matrix to `x`.
      Specified by:
        `setR3C1F` in interface `MatrixWritable4x4FType`
      Parameters:
        `x` - The value

    - #### getR3C2F

          public float getR3C2F()

      Specified by:
        `getR3C2F` in interface `MatrixReadable4x4FType`
      Returns:
        The value at row 3, column 2

    - #### setR3C2F

          public void setR3C2F(float x)

      Description copied from interface: `MatrixWritable4x4FType`
      Set row 3, column 2 of the matrix to `x`.
      Specified by:
        `setR3C2F` in interface `MatrixWritable4x4FType`
      Parameters:
        `x` - The value

    - #### getR3C3F

          public float getR3C3F()

      Specified by:
        `getR3C3F` in interface `MatrixReadable4x4FType`
      Returns:
        The value at row 3, column 3

    - #### setR3C3F

          public void setR3C3F(float x)

      Description copied from interface: `MatrixWritable4x4FType`
      Set row 3, column 3 of the matrix to `x`.
      Specified by:
        `setR3C3F` in interface `MatrixWritable4x4FType`
      Parameters:
        `x` - The value

    - #### getRowColumnF

          public float getRowColumnF(int row,
                                     int column)

      Specified by:
        `getRowColumnF` in interface `MatrixReadableFType`
      Parameters:
        `row` - The row
        `column` - The column
      Returns:
        The value from the matrix at row `row` , column `column`.

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

    - #### setRowColumnF

          public void setRowColumnF(int row,
                                    int column,
                                    float value)

      Description copied from interface: `MatrixWritableFType`
      Set the value from the matrix at row `row`, column `column` to `value`.
      Specified by:
        `setRowColumnF` in interface `MatrixWritableFType`
      Parameters:
        `row` - The row
        `column` - The column
        `value` - The value

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### getRow3F

          public <V extends VectorWritable3FType> void getRow3F(int row,
                                                                V out)

      Description copied from interface: `MatrixReadable3x3FType`
      Retrieve row `row`, saving the result to `out`.
      Specified by:
        `getRow3F` in interface `MatrixReadable3x3FType`
      Type Parameters:
        `V` - The precise type of writable vector.
      Parameters:
        `row` - The index of the row, starting at `0`.
        `out` - The output vector.

    - #### getRow3FUnsafe

          public <V extends VectorWritable3FType> void getRow3FUnsafe(int row,
                                                                      V out)

      Description copied from interface: `MatrixReadable3x3FType`
      Retrieve row `row`, saving the result to `out`. No bounds checking is performed for `row`, and out-of-bounds values result in undefined behaviour.
      Specified by:
        `getRow3FUnsafe` in interface `MatrixReadable3x3FType`
      Type Parameters:
        `V` - The precise type of writable vector.
      Parameters:
        `row` - The index of the row, starting at `0`.
        `out` - The output vector.

    - #### getR0C2F

          public float getR0C2F()

      Specified by:
        `getR0C2F` in interface `MatrixReadable3x3FType`
      Returns:
        The value at row 0, column 2

    - #### setR0C2F

          public void setR0C2F(float x)

      Description copied from interface: `MatrixWritable3x3FType`
      Set row 0, column 2 of the matrix to `x`.
      Specified by:
        `setR0C2F` in interface `MatrixWritable3x3FType`
      Parameters:
        `x` - The value

    - #### setRowWith3F

          public void setRowWith3F(int row,
                                   VectorReadable3FType v)

      Description copied from interface: `MatrixWritable3x3FType`
      Set row `row` of the matrix to `v`.
      Specified by:
        `setRowWith3F` in interface `MatrixWritable3x3FType`
      Parameters:
        `row` - The row index
        `v` - The row vector

    - #### setRowWith3FUnsafe

          public void setRowWith3FUnsafe(int row,
                                         VectorReadable3FType v)

      Description copied from interface: `MatrixWritable3x3FType`
      Set row `row` of the matrix to `v`. No bounds checking is performed for `row`, and out-of-bounds values result in undefined behaviour.
      Specified by:
        `setRowWith3FUnsafe` in interface `MatrixWritable3x3FType`
      Parameters:
        `row` - The row index
        `v` - The row vector

    - #### getR1C2F

          public float getR1C2F()

      Specified by:
        `getR1C2F` in interface `MatrixReadable3x3FType`
      Returns:
        The value at row 1, column 2

    - #### setR1C2F

          public void setR1C2F(float x)

      Description copied from interface: `MatrixWritable3x3FType`
      Set row 1, column 2 of the matrix to `x`.
      Specified by:
        `setR1C2F` in interface `MatrixWritable3x3FType`
      Parameters:
        `x` - The value

    - #### getR2C0F

          public float getR2C0F()

      Specified by:
        `getR2C0F` in interface `MatrixReadable3x3FType`
      Returns:
        The value at row 2, column 0

    - #### setR2C0F

          public void setR2C0F(float x)

      Description copied from interface: `MatrixWritable3x3FType`
      Set row 2, column 0 of the matrix to `x`.
      Specified by:
        `setR2C0F` in interface `MatrixWritable3x3FType`
      Parameters:
        `x` - The value

    - #### getR2C1F

          public float getR2C1F()

      Specified by:
        `getR2C1F` in interface `MatrixReadable3x3FType`
      Returns:
        The value at row 2, column 1

    - #### setR2C1F

          public void setR2C1F(float x)

      Description copied from interface: `MatrixWritable3x3FType`
      Set row 2, column 1 of the matrix to `x`.
      Specified by:
        `setR2C1F` in interface `MatrixWritable3x3FType`
      Parameters:
        `x` - The value

    - #### getR2C2F

          public float getR2C2F()

      Specified by:
        `getR2C2F` in interface `MatrixReadable3x3FType`
      Returns:
        The value at row 2, column 2

    - #### setR2C2F

          public void setR2C2F(float x)

      Description copied from interface: `MatrixWritable3x3FType`
      Set row 2, column 2 of the matrix to `x`.
      Specified by:
        `setR2C2F` in interface `MatrixWritable3x3FType`
      Parameters:
        `x` - The value

    - #### getRow2F

          public <V extends VectorWritable2FType> void getRow2F(int row,
                                                                V out)

      Description copied from interface: `MatrixReadable2x2FType`
      Retrieve row `row`, saving the result to `out`.
      Specified by:
        `getRow2F` in interface `MatrixReadable2x2FType`
      Type Parameters:
        `V` - The precise type of writable vector.
      Parameters:
        `row` - The index of the row, starting at `0`.
        `out` - The output vector.

    - #### getRow2FUnsafe

          public <V extends VectorWritable2FType> void getRow2FUnsafe(int row,
                                                                      V out)

      Description copied from interface: `MatrixReadable2x2FType`
      Retrieve row `row`, saving the result to `out`. No bounds checking is performed for `row`, and out-of-bounds values result in undefined behaviour.
      Specified by:
        `getRow2FUnsafe` in interface `MatrixReadable2x2FType`
      Type Parameters:
        `V` - The precise type of writable vector.
      Parameters:
        `row` - The index of the row, starting at `0`.
        `out` - The output vector.

    - #### getR0C0F

          public float getR0C0F()

      Specified by:
        `getR0C0F` in interface `MatrixReadable2x2FType`
      Returns:
        The value at row 0, column 0

    - #### setR0C0F

          public void setR0C0F(float x)

      Description copied from interface: `MatrixWritable2x2FType`
      Set row 0, column 0 of the matrix to `x`.
      Specified by:
        `setR0C0F` in interface `MatrixWritable2x2FType`
      Parameters:
        `x` - The value

    - #### setRowWith2F

          public void setRowWith2F(int row,
                                   VectorReadable2FType v)

      Description copied from interface: `MatrixWritable2x2FType`
      Set row `row` of the matrix to `v`.
      Specified by:
        `setRowWith2F` in interface `MatrixWritable2x2FType`
      Parameters:
        `row` - The row index
        `v` - The row vector

    - #### setRowWith2FUnsafe

          public void setRowWith2FUnsafe(int row,
                                         VectorReadable2FType v)

      Description copied from interface: `MatrixWritable2x2FType`
      Set row `row` of the matrix to `v`. No bounds checking is performed for `row`, and out-of-bounds values result in undefined behaviour.
      Specified by:
        `setRowWith2FUnsafe` in interface `MatrixWritable2x2FType`
      Parameters:
        `row` - The row index
        `v` - The row vector

    - #### getR1C0F

          public float getR1C0F()

      Specified by:
        `getR1C0F` in interface `MatrixReadable2x2FType`
      Returns:
        The value at row 1, column 0

    - #### setR1C0F

          public void setR1C0F(float x)

      Description copied from interface: `MatrixWritable2x2FType`
      Set row 1, column 0 of the matrix to `x`.
      Specified by:
        `setR1C0F` in interface `MatrixWritable2x2FType`
      Parameters:
        `x` - The value

    - #### getR0C1F

          public float getR0C1F()

      Specified by:
        `getR0C1F` in interface `MatrixReadable2x2FType`
      Returns:
        The value at row 0, column 1

    - #### setR0C1F

          public void setR0C1F(float x)

      Description copied from interface: `MatrixWritable2x2FType`
      Set row 0, column 1 of the matrix to `x`.
      Specified by:
        `setR0C1F` in interface `MatrixWritable2x2FType`
      Parameters:
        `x` - The value

    - #### getR1C1F

          public float getR1C1F()

      Specified by:
        `getR1C1F` in interface `MatrixReadable2x2FType`
      Returns:
        The value at row 1, column 1

    - #### setR1C1F

          public void setR1C1F(float x)

      Description copied from interface: `MatrixWritable2x2FType`
      Set row 1, column 1 of the matrix to `x`.
      Specified by:
        `setR1C1F` in interface `MatrixWritable2x2FType`
      Parameters:
        `x` - The value

Copyright © 2017 <code@io7m.com> http://io7m.com