com.io7m.jtensors.bytebuffered

## Class MatrixByteBufferedM4x4D

- java.lang.Object
- - com.io7m.jtensors.bytebuffered.ByteBuffered
  - - com.io7m.jtensors.bytebuffered.MatrixByteBufferedM4x4D

- All Implemented Interfaces:
    ByteBufferedType, MatrixByteBuffered4x4DType, Matrix4x4DType, MatrixReadable2x2DType, MatrixReadable3x3DType, MatrixReadable4x4DType, MatrixReadableDType, MatrixWritable2x2DType, MatrixWritable3x3DType, MatrixWritable4x4DType, MatrixWritableDType

      public final class MatrixByteBufferedM4x4D
      extends ByteBuffered
      implements MatrixByteBuffered4x4DType

  A 4x4 matrix type with `double` elements, packed into a `ByteBuffer`.

  Values of this type cannot be accessed safely from multiple threads without explicit synchronization.

- - ### 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 column)`
    `int` | `hashCode()`
    `static MatrixByteBuffered4x4DType` | `newMatrixFromByteBuffer(ByteBuffer b, long byte_offset)` Return a new matrix that is backed by whatever data is at byte offset `byte_offset` in the byte buffer .
    `static MatrixByteBuffered4x4DType` | `newMatrixFromByteBufferAndBase(ByteBuffer b, AtomicLong base, int offset)` Return a new matrix that is backed by the given byte buffer `b`
    `void` | `setR0C0D(double x)` Set row 0, column 0 of the matrix to `x`.
    `void` | `setR0C1D(double x)` Set row 0, column 1 of the matrix to `x`.
    `void` | `setR0C2D(double x)` Set row 0, column 2 of the matrix to `x`.
    `void` | `setR0C3D(double x)` Set row 0, column 3 of the matrix to `x`.
    `void` | `setR1C0D(double x)` Set row 1, column 0 of the matrix to `x`.
    `void` | `setR1C1D(double x)` Set row 1, column 1 of the matrix to `x`.
    `void` | `setR1C2D(double x)` Set row 1, column 2 of the matrix to `x`.
    `void` | `setR1C3D(double x)` Set row 1, column 3 of the matrix to `x`.
    `void` | `setR2C0D(double x)` Set row 2, column 0 of the matrix to `x`.
    `void` | `setR2C1D(double x)` Set row 2, column 1 of the matrix to `x`.
    `void` | `setR2C2D(double x)` Set row 2, column 2 of the matrix to `x`.
    `void` | `setR2C3D(double x)` Set row 2, column 3 of the matrix to `x`.
    `void` | `setR3C0D(double x)` Set row 3, column 0 of the matrix to `x`.
    `void` | `setR3C1D(double x)` Set row 3, column 1 of the matrix to `x`.
    `void` | `setR3C2D(double x)` Set row 3, column 2 of the matrix to `x`.
    `void` | `setR3C3D(double x)` Set row 3, column 3 of the matrix to `x`.
    `void` | `setRow0With4D(VectorReadable4DType v)` Set row 0 to `v`.
    `void` | `setRow1With4D(VectorReadable4DType v)` Set row 1 to `v`.
    `void` | `setRow2With4D(VectorReadable4DType v)` Set row 2 to `v`.
    `void` | `setRow3With4D(VectorReadable4DType v)` Set row 3 to `v`.
    `void` | `setRowColumnD(int row, int column, double value)` Set the value from the matrix at row `row`, column `column` to `value`.
    `void` | `setRowWith2D(int row, VectorReadable2DType v)` Set row `row` of the matrix to `v`.
    `void` | `setRowWith2DUnsafe(int row, VectorReadable2DType v)` Set row `row` of the matrix to `v`.
    `void` | `setRowWith3D(int row, VectorReadable3DType v)` Set row `row` of the matrix to `v`.
    `void` | `setRowWith3DUnsafe(int row, VectorReadable3DType v)` Set row `row` of the matrix to `v`.
    `void` | `setRowWith4D(int row, VectorReadable4DType v)` Set row `row` of the matrix to `v`.
    `void` | `setRowWith4DUnsafe(int row, VectorReadable4DType v)` Set row `row` of the matrix to `v`.
    `String` | `toString()`

    - ### Methods inherited from class com.io7m.jtensors.bytebuffered.ByteBuffered

      `getByteOffset, getIndex, getOffset, setBase, setByteOffset`

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

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

    - ### Methods inherited from interface com.io7m.jtensors.bytebuffered.ByteBufferedType

      `getByteOffset, setByteOffset`

- - ### Method Detail

    - #### newMatrixFromByteBuffer

          public static MatrixByteBuffered4x4DType newMatrixFromByteBuffer(ByteBuffer b,
                                                                           long byte_offset)

      Return a new matrix that is backed by whatever data is at byte offset `byte_offset` in the byte buffer .

      No initialization of the data is performed.

      Parameters:
        `b` - The byte buffer
        `byte_offset` - A byte offset
      Returns:
        A new buffered matrix

    - #### newMatrixFromByteBufferAndBase

          public static MatrixByteBuffered4x4DType newMatrixFromByteBufferAndBase(ByteBuffer b,
                                                                                  AtomicLong base,
                                                                                  int offset)

      Return a new matrix that is backed by the given byte buffer `b`

      The data for the instance will be taken from the data at the current value of `base.get() + offset`, each time a field is requested or set.

      No initialization of the data is performed.

      Parameters:
        `b` - The byte buffer
        `base` - The base address
        `offset` - A constant offset
      Returns:
        A new buffered matrix

    - #### toString

          public String toString()

      Overrides:
        `toString` 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.

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

    - #### equals

          public boolean equals(@Nullable
                                Object obj)

      Overrides:
        `equals` in class `Object`

    - #### getR0C3D

          public double getR0C3D()

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

    - #### setR0C3D

          public void setR0C3D(double x)

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

    - #### getR1C3D

          public double getR1C3D()

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

    - #### setR1C3D

          public void setR1C3D(double x)

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

    - #### getR2C3D

          public double getR2C3D()

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

    - #### setR2C3D

          public void setR2C3D(double x)

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

    - #### getR3C0D

          public double getR3C0D()

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

    - #### setR3C0D

          public void setR3C0D(double x)

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

    - #### getR3C1D

          public double getR3C1D()

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

    - #### setR3C1D

          public void setR3C1D(double x)

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

    - #### getR3C2D

          public double getR3C2D()

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

    - #### setR3C2D

          public void setR3C2D(double x)

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

    - #### getR3C3D

          public double getR3C3D()

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

    - #### setR3C3D

          public void setR3C3D(double x)

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

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

    - #### setR0C2D

          public void setR0C2D(double x)

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

    - #### getR1C2D

          public double getR1C2D()

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

    - #### setR1C2D

          public void setR1C2D(double x)

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

    - #### getR2C0D

          public double getR2C0D()

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

    - #### setR2C0D

          public void setR2C0D(double x)

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

    - #### getR2C1D

          public double getR2C1D()

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

    - #### setR2C1D

          public void setR2C1D(double x)

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

    - #### getR2C2D

          public double getR2C2D()

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

    - #### setR2C2D

          public void setR2C2D(double x)

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

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

    - #### setR0C0D

          public void setR0C0D(double x)

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

    - #### getR1C0D

          public double getR1C0D()

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

    - #### setR1C0D

          public void setR1C0D(double x)

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

    - #### getR0C1D

          public double getR0C1D()

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

    - #### setR0C1D

          public void setR0C1D(double x)

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

    - #### getR1C1D

          public double getR1C1D()

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

    - #### setR1C1D

          public void setR1C1D(double x)

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

    - #### getRowColumnD

          public double getRowColumnD(int row,
                                      int column)

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

    - #### setRowWith4D

          public void setRowWith4D(int row,
                                   VectorReadable4DType v)

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

    - #### setRowWith4DUnsafe

          public void setRowWith4DUnsafe(int row,
                                         VectorReadable4DType v)

      Description copied from interface: `MatrixWritable4x4DType`
      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:
        `setRowWith4DUnsafe` in interface `MatrixWritable4x4DType`
      Parameters:
        `row` - The row index
        `v` - The row vector

    - #### setRow0With4D

          public void setRow0With4D(VectorReadable4DType v)

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

    - #### setRow1With4D

          public void setRow1With4D(VectorReadable4DType v)

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

    - #### setRow2With4D

          public void setRow2With4D(VectorReadable4DType v)

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

    - #### setRow3With4D

          public void setRow3With4D(VectorReadable4DType v)

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

    - #### setRowWith3D

          public void setRowWith3D(int row,
                                   VectorReadable3DType v)

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

    - #### setRowWith3DUnsafe

          public void setRowWith3DUnsafe(int row,
                                         VectorReadable3DType v)

      Description copied from interface: `MatrixWritable3x3DType`
      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:
        `setRowWith3DUnsafe` in interface `MatrixWritable3x3DType`
      Parameters:
        `row` - The row index
        `v` - The row vector

    - #### setRowWith2D

          public void setRowWith2D(int row,
                                   VectorReadable2DType v)

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

    - #### setRowWith2DUnsafe

          public void setRowWith2DUnsafe(int row,
                                         VectorReadable2DType v)

      Description copied from interface: `MatrixWritable2x2DType`
      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:
        `setRowWith2DUnsafe` in interface `MatrixWritable2x2DType`
      Parameters:
        `row` - The row index
        `v` - The row vector

    - #### setRowColumnD

          public void setRowColumnD(int row,
                                    int column,
                                    double value)

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

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