com.io7m.jtensors.parameterized

## Class PMatrixI4x4F<T0,T1>

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

- Type Parameters:
    `T0` - A phantom type parameter.
    `T1` - A phantom type parameter.
  All Implemented Interfaces:
    MatrixReadable2x2FType, MatrixReadable3x3FType, MatrixReadable4x4FType, MatrixReadableFType, PMatrixReadable4x4FType<T0,T1>, PMatrixReadableFType<T0,T1>

      @EqualityStructural
       @Immutable
      public final class PMatrixI4x4F<T0,T1>
      extends Object
      implements PMatrixReadable4x4FType<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)`
    `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 col)`
    `int` | `hashCode()`
    `static <T0,T1> PMatrixI4x4F<T0,T1>` | `identity()`
    `void` | `makeMatrix4x4F(PMatrixWritable4x4FType<T0,T1> m)` Write the current matrix into the given mutable matrix.
    `void` | `makeMatrix4x4FUntyped(MatrixWritable4x4FType m)` Write the current matrix into the given mutable matrix.
    `static <T0,T1> PMatrixI4x4F<T0,T1>` | `newFromColumns(VectorReadable4FType column_0, VectorReadable4FType column_1, VectorReadable4FType column_2, VectorReadable4FType column_3)` Construct a new immutable 4x4 matrix from the given columns.
    `static <T0,T1> PMatrixI4x4F<T0,T1>` | `newFromReadable(PMatrixReadable4x4FType<T0,T1> m)` Construct a new immutable 4x4 matrix from the given readable 4x4 matrix.
    `static <T0,T1> PMatrixI4x4F<T0,T1>` | `newFromReadableUntyped(MatrixReadable4x4FType 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> PMatrixI4x4F<T0,T1> identity()

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

    - #### newFromColumns

          public static <T0,T1> PMatrixI4x4F<T0,T1> newFromColumns(VectorReadable4FType column_0,
                                                                   VectorReadable4FType column_1,
                                                                   VectorReadable4FType column_2,
                                                                   VectorReadable4FType 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> PMatrixI4x4F<T0,T1> newFromReadable(PMatrixReadable4x4FType<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> PMatrixI4x4F<T0,T1> newFromReadableUntyped(MatrixReadable4x4FType 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

    - #### makeMatrix4x4F

          public void makeMatrix4x4F(PMatrixWritable4x4FType<T0,T1> m)

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

    - #### makeMatrix4x4FUntyped

          public void makeMatrix4x4FUntyped(MatrixWritable4x4FType m)

      Write the current matrix into the given mutable matrix.
      Parameters:
        `m` - The mutable 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

    - #### getR1C3F

          public float getR1C3F()

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

    - #### getR2C3F

          public float getR2C3F()

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

    - #### getR3C0F

          public float getR3C0F()

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

    - #### getR3C1F

          public float getR3C1F()

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

    - #### getR3C2F

          public float getR3C2F()

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

    - #### getR3C3F

          public float getR3C3F()

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

    - #### getRowColumnF

          public float getRowColumnF(int row,
                                     int col)

      Specified by:
        `getRowColumnF` in interface `MatrixReadableFType`
      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`

    - #### 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

    - #### getR1C2F

          public float getR1C2F()

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

    - #### getR2C0F

          public float getR2C0F()

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

    - #### getR2C1F

          public float getR2C1F()

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

    - #### getR2C2F

          public float getR2C2F()

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

    - #### 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

    - #### getR1C0F

          public float getR1C0F()

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

    - #### getR0C1F

          public float getR0C1F()

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

    - #### getR1C1F

          public float getR1C1F()

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

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