com.io7m.jtensors.parameterized

## Class PMatrixI4x4D<T0,T1>

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

- Type Parameters:
    `T0` - A phantom type parameter.
    `T1` - A phantom type parameter.
  All Implemented Interfaces:
    MatrixReadable2x2DType, MatrixReadable3x3DType, MatrixReadable4x4DType, MatrixReadableDType, PMatrixReadable4x4DType<T0,T1>, PMatrixReadableDType<T0,T1>

      @EqualityStructural
       @Immutable
      public final class PMatrixI4x4D<T0,T1>
      extends Object
      implements PMatrixReadable4x4DType<T0,T1>

  An immutable 4x4 matrix type.

- - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(Object obj)`
    `double` | `getR0C0D()`
    `double` | `getR0C1D()`
    `double` | `getR0C2D()`
    `double` | `getR0C3D()`
    `double` | `getR1C0D()`
    `double` | `getR1C1D()`
    `double` | `getR1C2D()`
    `double` | `getR1C3D()`
    `double` | `getR2C0D()`
    `double` | `getR2C1D()`
    `double` | `getR2C2D()`
    `double` | `getR2C3D()`
    `double` | `getR3C0D()`
    `double` | `getR3C1D()`
    `double` | `getR3C2D()`
    `double` | `getR3C3D()`
    `<V extends VectorWritable2DType> void` | `getRow2D(int row, V out)` Retrieve row `row`, saving the result to `out`.
    `<V extends VectorWritable2DType> void` | `getRow2DUnsafe(int row, V out)` Retrieve row `row`, saving the result to `out`.
    `<V extends VectorWritable3DType> void` | `getRow3D(int row, V out)` Retrieve row `row`, saving the result to `out`.
    `<V extends VectorWritable3DType> void` | `getRow3DUnsafe(int row, V out)` Retrieve row `row`, saving the result to `out`.
    `<V extends VectorWritable4DType> void` | `getRow4D(int row, V out)` Retrieve row `row`, saving the result to `out`.
    `<V extends VectorWritable4DType> void` | `getRow4DUnsafe(int row, V out)` Retrieve row `row`, saving the result to `out`.
    `double` | `getRowColumnD(int row, int col)`
    `int` | `hashCode()`
    `static <T0,T1> PMatrixI4x4D<T0,T1>` | `identity()`
    `void` | `makeMatrix4x4D(PMatrixWritable4x4DType<T0,T1> m)` Write the current matrix into the given mutable matrix.
    `void` | `makeMatrix4x4DUntyped(MatrixWritable4x4DType m)` Write the current matrix into the given mutable matrix.
    `static <T0,T1> PMatrixI4x4D<T0,T1>` | `newFromColumns(VectorReadable4DType column_0, VectorReadable4DType column_1, VectorReadable4DType column_2, VectorReadable4DType column_3)` Construct a new immutable 4x4 matrix from the given columns.
    `static <T0,T1> PMatrixI4x4D<T0,T1>` | `newFromReadable(PMatrixReadable4x4DType<T0,T1> m)` Construct a new immutable 4x4 matrix from the given readable 4x4 matrix.
    `static <T0,T1> PMatrixI4x4D<T0,T1>` | `newFromReadableUntyped(MatrixReadable4x4DType m)` Construct a new immutable 4x4 matrix from the given readable 4x4 matrix.
    `String` | `toString()`

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

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

- - ### Method Detail

    - #### identity

          public static <T0,T1> PMatrixI4x4D<T0,T1> identity()

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

    - #### newFromColumns

          public static <T0,T1> PMatrixI4x4D<T0,T1> newFromColumns(VectorReadable4DType column_0,
                                                                   VectorReadable4DType column_1,
                                                                   VectorReadable4DType column_2,
                                                                   VectorReadable4DType column_3)

      Construct a new immutable 4x4 matrix from the given columns.
      Type Parameters:
        `T0` - A phantom type parameter.
        `T1` - A phantom type parameter.
      Parameters:
        `column_0` - The first column
        `column_1` - The second column
        `column_2` - The third column
        `column_3` - The fourth column
      Returns:
        A new 4x4 matrix

    - #### newFromReadable

          public static <T0,T1> PMatrixI4x4D<T0,T1> newFromReadable(PMatrixReadable4x4DType<T0,T1> m)

      Construct a new immutable 4x4 matrix from the given readable 4x4 matrix.
      Type Parameters:
        `T0` - A phantom type parameter.
        `T1` - A phantom type parameter.
      Parameters:
        `m` - The original matrix
      Returns:
        A new 4x4 matrix

    - #### newFromReadableUntyped

          public static <T0,T1> PMatrixI4x4D<T0,T1> newFromReadableUntyped(MatrixReadable4x4DType m)

      Construct a new immutable 4x4 matrix from the given readable 4x4 matrix.
      Type Parameters:
        `T0` - A phantom type parameter.
        `T1` - A phantom type parameter.
      Parameters:
        `m` - The original matrix
      Returns:
        A new 4x4 matrix

    - #### equals

          public boolean equals(@Nullable
                                Object obj)

      Overrides:
        `equals` in class `Object`

    - #### getRow4D

          public <V extends VectorWritable4DType> void getRow4D(int row,
                                                                V out)

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

    - #### getRow4DUnsafe

          public <V extends VectorWritable4DType> void getRow4DUnsafe(int row,
                                                                      V out)

      Description copied from interface: `MatrixReadable4x4DType`
      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:
        `getRow4DUnsafe` in interface `MatrixReadable4x4DType`
      Type Parameters:
        `V` - The precise type of writable vector.
      Parameters:
        `row` - The index of the row, starting at `0`.
        `out` - The output vector.

    - #### getR0C3D

          public double getR0C3D()

      Specified by:
        `getR0C3D` in interface `MatrixReadable4x4DType`
      Returns:
        The value at row 0, column 3

    - #### getR1C3D

          public double getR1C3D()

      Specified by:
        `getR1C3D` in interface `MatrixReadable4x4DType`
      Returns:
        The value at row 1, column 3

    - #### getR2C3D

          public double getR2C3D()

      Specified by:
        `getR2C3D` in interface `MatrixReadable4x4DType`
      Returns:
        The value at row 2, column 3

    - #### getR3C0D

          public double getR3C0D()

      Specified by:
        `getR3C0D` in interface `MatrixReadable4x4DType`
      Returns:
        The value at row 3, column 0

    - #### getR3C1D

          public double getR3C1D()

      Specified by:
        `getR3C1D` in interface `MatrixReadable4x4DType`
      Returns:
        The value at row 3, column 1

    - #### getR3C2D

          public double getR3C2D()

      Specified by:
        `getR3C2D` in interface `MatrixReadable4x4DType`
      Returns:
        The value at row 3, column 2

    - #### getR3C3D

          public double getR3C3D()

      Specified by:
        `getR3C3D` in interface `MatrixReadable4x4DType`
      Returns:
        The value at row 3, column 3

    - #### getRowColumnD

          public double getRowColumnD(int row,
                                      int col)

      Specified by:
        `getRowColumnD` in interface `MatrixReadableDType`
      Parameters:
        `row` - The row
        `col` - The column
      Returns:
        The value at the given row and column

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

    - #### makeMatrix4x4D

          public void makeMatrix4x4D(PMatrixWritable4x4DType<T0,T1> m)

      Write the current matrix into the given mutable matrix.
      Parameters:
        `m` - The mutable matrix

    - #### makeMatrix4x4DUntyped

          public void makeMatrix4x4DUntyped(MatrixWritable4x4DType m)

      Write the current matrix into the given mutable matrix.
      Parameters:
        `m` - The mutable matrix

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### getRow3D

          public <V extends VectorWritable3DType> void getRow3D(int row,
                                                                V out)

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

    - #### getRow3DUnsafe

          public <V extends VectorWritable3DType> void getRow3DUnsafe(int row,
                                                                      V out)

      Description copied from interface: `MatrixReadable3x3DType`
      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:
        `getRow3DUnsafe` in interface `MatrixReadable3x3DType`
      Type Parameters:
        `V` - The precise type of writable vector.
      Parameters:
        `row` - The index of the row, starting at `0`.
        `out` - The output vector.

    - #### getR0C2D

          public double getR0C2D()

      Specified by:
        `getR0C2D` in interface `MatrixReadable3x3DType`
      Returns:
        The value at row 0, column 2

    - #### getR1C2D

          public double getR1C2D()

      Specified by:
        `getR1C2D` in interface `MatrixReadable3x3DType`
      Returns:
        The value at row 1, column 2

    - #### getR2C0D

          public double getR2C0D()

      Specified by:
        `getR2C0D` in interface `MatrixReadable3x3DType`
      Returns:
        The value at row 2, column 0

    - #### getR2C1D

          public double getR2C1D()

      Specified by:
        `getR2C1D` in interface `MatrixReadable3x3DType`
      Returns:
        The value at row 2, column 1

    - #### getR2C2D

          public double getR2C2D()

      Specified by:
        `getR2C2D` in interface `MatrixReadable3x3DType`
      Returns:
        The value at row 2, column 2

    - #### getRow2D

          public <V extends VectorWritable2DType> void getRow2D(int row,
                                                                V out)

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

    - #### getRow2DUnsafe

          public <V extends VectorWritable2DType> void getRow2DUnsafe(int row,
                                                                      V out)

      Description copied from interface: `MatrixReadable2x2DType`
      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:
        `getRow2DUnsafe` in interface `MatrixReadable2x2DType`
      Type Parameters:
        `V` - The precise type of writable vector.
      Parameters:
        `row` - The index of the row, starting at `0`.
        `out` - The output vector.

    - #### getR0C0D

          public double getR0C0D()

      Specified by:
        `getR0C0D` in interface `MatrixReadable2x2DType`
      Returns:
        The value at row 0, column 0

    - #### getR1C0D

          public double getR1C0D()

      Specified by:
        `getR1C0D` in interface `MatrixReadable2x2DType`
      Returns:
        The value at row 1, column 0

    - #### getR0C1D

          public double getR0C1D()

      Specified by:
        `getR0C1D` in interface `MatrixReadable2x2DType`
      Returns:
        The value at row 0, column 1

    - #### getR1C1D

          public double getR1C1D()

      Specified by:
        `getR1C1D` in interface `MatrixReadable2x2DType`
      Returns:
        The value at row 1, column 1

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