# Class PMatrixByteBuffered3x3s16<A,B>

java.lang.Object
com.io7m.jtensors.storage.bytebuffered.PMatrixByteBuffered3x3s16<A,B>

Type Parameters:
  `A` - A phantom type parameter (possibly representing a source coordinate system)
  `B` - A phantom type parameter (possibly representing a target coordinate system)

All Implemented Interfaces:
  `PMatrixReadable3x3DType<A,B>, MatrixReadable3x3DType, MatrixReadableDType, MatrixStorageType, PMatrixStorage3x3Type<A,B>, MatrixStorage3x3Type, MatrixByteBufferedType, PMatrixByteBuffered3x3Type<A,B>, TensorByteBufferedType`

public final class PMatrixByteBuffered3x3s16<A,B> extends Object implements PMatrixByteBuffered3x3Type<A,B>

A storage matrix.

Storage component type: `double`

Storage component count: `3x3`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `final ByteBuffer`
  `byteBuffer()`
  `final long`
  `byteOffset()`
  `protected final int`
  `byteOffsetForIndex(int component_index)`
  `protected final int`
  `componentBytes()`
  `protected int`
  `componentCount()`
  `static <A,B> PMatrixByteBuffered3x3s16<A,B>`
  `createWithBase(ByteBuffer b, com.io7m.mutable.numbers.core.MutableLongType base, int offset)`
  Return a new vector that is backed by the given byte buffer `b`
  `final int`
  `offset()`
  `double`
  `r0c0()`
  `double`
  `r0c1()`
  `double`
  `r0c2()`
  `double`
  `r1c0()`
  `double`
  `r1c1()`
  `double`
  `r1c2()`
  `double`
  `r2c0()`
  `double`
  `r2c1()`
  `double`
  `r2c2()`
  `void`
  `setMatrix3x3D(Matrix3x3D m)`
  Set the components from the given matrix.
  `void`
  `setMatrix3x3F(Matrix3x3F m)`
  Set the components from the given matrix.
  `void`
  `setPMatrix3x3D(PMatrix3x3D<A,B> m)`
  Set the components from the given matrix.
  `void`
  `setPMatrix3x3F(PMatrix3x3F<A,B> m)`
  Set the components from the given matrix.
  `final int`
  `sizeBytes()`

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface MatrixReadable3x3DType

  `rowColumn`

  ### Methods inherited from interface TensorByteBufferedType

  `byteBuffer, byteOffset, offset, sizeBytes`

- ## Method Details

  - ### createWithBase

    public static <A,B> PMatrixByteBuffered3x3s16<A,B> createWithBase(ByteBuffer b, com.io7m.mutable.numbers.core.MutableLongType base, int offset)

    Return a new vector 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.

    Type Parameters:
      `A` - A phantom type parameter (possibly representing a source coordinate system)
      `B` - A phantom type parameter (possibly representing a target coordinate system)
    Parameters:
      `b` - The byte buffer
      `base` - The base address
      `offset` - A constant offset
    Returns:
      A new buffered vector

  - ### componentCount

    protected int componentCount()

  - ### r0c0

    public double r0c0()
    Specified by:
      `r0c0` in interface `MatrixReadable3x3DType`
    Returns:
      The value at row 0 column 0

  - ### r0c1

    public double r0c1()
    Specified by:
      `r0c1` in interface `MatrixReadable3x3DType`
    Returns:
      The value at row 0 column 1

  - ### r0c2

    public double r0c2()
    Specified by:
      `r0c2` in interface `MatrixReadable3x3DType`
    Returns:
      The value at row 0 column 2

  - ### r1c0

    public double r1c0()
    Specified by:
      `r1c0` in interface `MatrixReadable3x3DType`
    Returns:
      The value at row 1 column 0

  - ### r1c1

    public double r1c1()
    Specified by:
      `r1c1` in interface `MatrixReadable3x3DType`
    Returns:
      The value at row 1 column 1

  - ### r1c2

    public double r1c2()
    Specified by:
      `r1c2` in interface `MatrixReadable3x3DType`
    Returns:
      The value at row 1 column 2

  - ### r2c0

    public double r2c0()
    Specified by:
      `r2c0` in interface `MatrixReadable3x3DType`
    Returns:
      The value at row 2 column 0

  - ### r2c1

    public double r2c1()
    Specified by:
      `r2c1` in interface `MatrixReadable3x3DType`
    Returns:
      The value at row 2 column 1

  - ### r2c2

    public double r2c2()
    Specified by:
      `r2c2` in interface `MatrixReadable3x3DType`
    Returns:
      The value at row 2 column 2

  - ### setPMatrix3x3D

    public void setPMatrix3x3D(PMatrix3x3D<A,B> m)
    Description copied from interface: `PMatrixStorage3x3Type`
    Set the components from the given matrix.
    Specified by:
      `setPMatrix3x3D` in interface `PMatrixStorage3x3Type<A,B>`
    Parameters:
      `m` - The source matrix

  - ### setPMatrix3x3F

    public void setPMatrix3x3F(PMatrix3x3F<A,B> m)
    Description copied from interface: `PMatrixStorage3x3Type`
    Set the components from the given matrix.
    Specified by:
      `setPMatrix3x3F` in interface `PMatrixStorage3x3Type<A,B>`
    Parameters:
      `m` - The source matrix

  - ### setMatrix3x3D

    public void setMatrix3x3D(Matrix3x3D m)
    Description copied from interface: `MatrixStorage3x3Type`
    Set the components from the given matrix.
    Specified by:
      `setMatrix3x3D` in interface `MatrixStorage3x3Type`
    Parameters:
      `m` - The source matrix

  - ### setMatrix3x3F

    public void setMatrix3x3F(Matrix3x3F m)
    Description copied from interface: `MatrixStorage3x3Type`
    Set the components from the given matrix.
    Specified by:
      `setMatrix3x3F` in interface `MatrixStorage3x3Type`
    Parameters:
      `m` - The source matrix

  - ### componentBytes

    protected final int componentBytes()

  - ### byteBuffer

    public final ByteBuffer byteBuffer()
    Specified by:
      `byteBuffer` in interface `TensorByteBufferedType`
    Returns:
      The byte buffer that backs the tensor

  - ### byteOffset

    public final long byteOffset()
    Specified by:
      `byteOffset` in interface `TensorByteBufferedType`
    Returns:
      The byte offset of the current tensor

  - ### offset

    public final int offset()
    Specified by:
      `offset` in interface `TensorByteBufferedType`
    Returns:
      A constant offset added to `TensorByteBufferedType.byteOffset()`.

  - ### sizeBytes

    public final int sizeBytes()
    Specified by:
      `sizeBytes` in interface `TensorByteBufferedType`
    Returns:
      The size of a single tensor in bytes

  - ### byteOffsetForIndex

    protected final int byteOffsetForIndex(int component_index)