## Uses of Interface
com.io7m.jtensors.VectorWritable2DType

- Packages that use VectorWritable2DType
  Package | Description
  --- | ---
  com.io7m.jtensors | Core vector and matrix types.
  com.io7m.jtensors.bytebuffered | `ByteBuffer` backed tensors.
  com.io7m.jtensors.bytebuffered.parameterized | `ByteBuffer` backed parameterized tensors.
  com.io7m.jtensors.parameterized | Parameterized vector and matrix types.

- - ### Uses of VectorWritable2DType in com.io7m.jtensors

    Subinterfaces of VectorWritable2DType in com.io7m.jtensors
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `Quaternion4DType` The type of mutable quaternions with `double` elements.
    `interface` | `QuaternionWritable4DType` 'Write' interface to four-dimensional quaternions with `double` elements.
    `interface` | `Vector2DType` The type of two-element vectors that are both readable and writable, and have `double` elements
    `interface` | `Vector3DType` The type of three-element vectors that are both readable and writable, and have `double` elements
    `interface` | `Vector4DType` The type of four-element vectors that are both readable and writable, and have `double` elements
    `interface` | `VectorWritable3DType` 'Write' interface to three-dimensional vectors with `double` elements.
    `interface` | `VectorWritable4DType` 'Write' interface to four-dimensional vectors with `double` elements.

    Classes in com.io7m.jtensors that implement VectorWritable2DType
    Modifier and Type | Class and Description
    --- | ---
    `class` | `QuaternionM4D` A four-dimensional mutable quaternion type with `double` elements.
    `class` | `VectorM2D` A two-dimensional mutable vector type with `double` elements.
    `class` | `VectorM3D` A three-dimensional mutable vector type with `double` elements.
    `class` | `VectorM4D` A four-dimensional mutable vector type with `double` elements.

    Methods in com.io7m.jtensors with type parameters of type VectorWritable2DType
    Modifier and Type | Method and Description
    --- | ---
    `static <V extends VectorWritable2DType> V` | VectorM2D.`absolute(VectorReadable2DType v, V out)` Calculate the absolute values of the elements in vector `v`, saving the result to `out`.
    `static <V extends VectorWritable2DType & VectorReadable2DType> V` | VectorM2D.`absoluteInPlace(V v)` Calculate the absolute values of the elements in vector `v`, modifying the vector in-place.
    `static <V extends VectorWritable2DType> V` | VectorM2D.`add(VectorReadable2DType v0, VectorReadable2DType v1, V out)` Calculate the element-wise sum of the vectors `v0` and `v1`, saving the result to `out`.
    `static <V extends VectorWritable2DType & VectorReadable2DType> V` | VectorM2D.`addInPlace(V v0, VectorReadable2DType v1)` Calculate the element-wise sum of the vectors `v0` and `v1`, saving the result to `v0`.
    `static <V extends VectorWritable2DType> V` | VectorM2D.`addScaled(VectorReadable2DType v0, VectorReadable2DType v1, double r, V out)` Calculate the element-wise sum of the vectors `v0` and the element-wise product of `v1` and `r`, saving the result to `out`.
    `static <V extends VectorWritable2DType & VectorReadable2DType> V` | VectorM2D.`addScaledInPlace(V v0, VectorReadable2DType v1, double r)` Calculate the element-wise sum of the vectors `v0` and the element-wise product of `v1` and `r`, saving the result to `v0`.
    `static <V extends VectorWritable2DType> V` | VectorM2D.`clamp(VectorReadable2DType v, double minimum, double maximum, V out)` Clamp the elements of the vector `v` to the range {@code [minimum ..
    `static <V extends VectorWritable2DType> V` | VectorM2D.`clampByVector(VectorReadable2DType v, VectorReadable2DType minimum, VectorReadable2DType maximum, V out)` Clamp the elements of the vector `v` to the inclusive range given by the corresponding elements in `minimum` and `maximum`, saving the result to `out`.
    `static <V extends VectorWritable2DType & VectorReadable2DType> V` | VectorM2D.`clampByVectorInPlace(V v, VectorReadable2DType minimum, VectorReadable2DType maximum)` Clamp the elements of the vector `v` to the inclusive range given by the corresponding elements in `minimum` and `maximum`, saving the result to `v`.
    `static <V extends VectorWritable2DType & VectorReadable2DType> V` | VectorM2D.`clampInPlace(V v, double minimum, double maximum)` Clamp the elements of the vector `v` to the range {@code [minimum ..
    `static <V extends VectorWritable2DType> V` | VectorM2D.`clampMaximum(VectorReadable2DType v, double maximum, V out)` Clamp the elements of the vector `v` to the range {@code [-Infinity ..
    `static <V extends VectorWritable2DType> V` | VectorM2D.`clampMaximumByVector(VectorReadable2DType v, VectorReadable2DType maximum, V out)` Clamp the elements of the vector `v` to the inclusive range given by the corresponding elements in `maximum`, saving the result to `out`.
    `static <V extends VectorWritable2DType & VectorReadable2DType> V` | VectorM2D.`clampMaximumByVectorInPlace(V v, VectorReadable2DType maximum)` Clamp the elements of the vector `v` to the inclusive range given by the corresponding elements in `maximum`, saving the result to `v`.
    `static <V extends VectorWritable2DType & VectorReadable2DType> V` | VectorM2D.`clampMaximumInPlace(V v, double maximum)` Clamp the elements of the vector `v` to the range {@code [-Infinity ..
    `static <V extends VectorWritable2DType> V` | VectorM2D.`clampMinimum(VectorReadable2DType v, double minimum, V out)` Clamp the elements of the vector `v` to the range {@code [minimum ..
    `static <V extends VectorWritable2DType> V` | VectorM2D.`clampMinimumByVector(VectorReadable2DType v, VectorReadable2DType minimum, V out)` Clamp the elements of the vector `v` to the inclusive range given by the corresponding elements in `minimum`, saving the result to `out`.
    `static <V extends VectorWritable2DType & VectorReadable2DType> V` | VectorM2D.`clampMinimumByVectorInPlace(V v, VectorReadable2DType minimum)` Clamp the elements of the vector `v` to the inclusive range given by the corresponding elements in `minimum`, saving the result to `v`.
    `static <V extends VectorWritable2DType & VectorReadable2DType> V` | VectorM2D.`clampMinimumInPlace(V v, double minimum)` Clamp the elements of the vector `v` to the range {@code [minimum ..
    `static <V extends VectorWritable2DType> V` | VectorM2D.`copy(VectorReadable2DType input, V output)` Copy all elements of the vector `input` to the vector `output`.
    `<V extends VectorWritable2DType> void` | MatrixReadable2x2DType.`getRow2D(int row, V out)` Retrieve row `row`, saving the result to `out`.
    `<V extends VectorWritable2DType> void` | MatrixI4x4D.`getRow2D(int row, V out)`
    `<V extends VectorWritable2DType> void` | MatrixI3x3D.`getRow2D(int row, V out)`
    `<V extends VectorWritable2DType> void` | MatrixI2x2D.`getRow2D(int row, V out)`
    `<V extends VectorWritable2DType> void` | MatrixHeapArrayM4x4D.`getRow2D(int row, V out)`
    `<V extends VectorWritable2DType> void` | MatrixHeapArrayM3x3D.`getRow2D(int row, V out)`
    `<V extends VectorWritable2DType> void` | MatrixHeapArrayM2x2D.`getRow2D(int row, V out)`
    `<V extends VectorWritable2DType> void` | MatrixDirectM4x4D.`getRow2D(int row, V out)`
    `<V extends VectorWritable2DType> void` | MatrixDirectM3x3D.`getRow2D(int row, V out)`
    `<V extends VectorWritable2DType> void` | MatrixDirectM2x2D.`getRow2D(int row, V out)`
    `<V extends VectorWritable2DType> void` | MatrixReadable2x2DType.`getRow2DUnsafe(int row, V out)` Retrieve row `row`, saving the result to `out`.
    `<V extends VectorWritable2DType> void` | MatrixI4x4D.`getRow2DUnsafe(int row, V out)`
    `<V extends VectorWritable2DType> void` | MatrixI3x3D.`getRow2DUnsafe(int row, V out)`
    `<V extends VectorWritable2DType> void` | MatrixI2x2D.`getRow2DUnsafe(int row, V out)`
    `<V extends VectorWritable2DType> void` | MatrixHeapArrayM4x4D.`getRow2DUnsafe(int row, V out)`
    `<V extends VectorWritable2DType> void` | MatrixHeapArrayM3x3D.`getRow2DUnsafe(int row, V out)`
    `<V extends VectorWritable2DType> void` | MatrixHeapArrayM2x2D.`getRow2DUnsafe(int row, V out)`
    `<V extends VectorWritable2DType> void` | MatrixDirectM4x4D.`getRow2DUnsafe(int row, V out)`
    `<V extends VectorWritable2DType> void` | MatrixDirectM3x3D.`getRow2DUnsafe(int row, V out)`
    `<V extends VectorWritable2DType> void` | MatrixDirectM2x2D.`getRow2DUnsafe(int row, V out)`
    `static <V extends VectorWritable2DType> V` | VectorM2D.`interpolateLinear(VectorM2D.ContextVM2D c, VectorReadable2DType v0, VectorReadable2DType v1, double alpha, V r)` Linearly interpolate between `v0` and `v1` by the amount `alpha`, saving the result to `r`.
    `static <V extends VectorWritable2DType> V` | MatrixM2x2D.`multiplyVector2D(MatrixM2x2D.ContextMM2D c, MatrixReadable2x2DType m, VectorReadable2DType v, V out)` Multiply the matrix `m` with the vector `v`, writing the resulting vector to `out`.
    `static <V extends VectorWritable2DType> V` | VectorM2D.`normalize(VectorReadable2DType v, V out)` Returns a vector with the same orientation as `v` but with magnitude equal to `1.0` in `out`.
    `static <V extends VectorWritable2DType & VectorReadable2DType> V` | VectorM2D.`normalizeInPlace(V v)` Returns a vector with the same orientation as `v` but with magnitude equal to `1.0` in `v`.
    `static <V extends VectorReadable2DType,U extends VectorWritable2DType> void` | VectorM2D.`orthoNormalize(VectorM2D.ContextVM2D c, VectorReadable2DType v0, U v0_out, VectorReadable2DType v1, U v1_out)` Orthonormalize and return the vectors `v0` and `v1` .
    `static <V extends VectorWritable2DType & VectorReadable2DType,W extends VectorWritable2DType & VectorReadable2DType> void` | VectorM2D.`orthoNormalizeInPlace(VectorM2D.ContextVM2D c, V v0, W v1)` Orthonormalize and the vectors `v0` and `v1`.
    `static <V extends VectorWritable2DType & VectorReadable2DType,W extends VectorWritable2DType & VectorReadable2DType> void` | VectorM2D.`orthoNormalizeInPlace(VectorM2D.ContextVM2D c, V v0, W v1)` Orthonormalize and the vectors `v0` and `v1`.
    `static <V extends VectorWritable2DType> V` | VectorM2D.`projection(VectorReadable2DType p, VectorReadable2DType q, V r)` Calculate the projection of the vector `p` onto the vector `q`, saving the result in `r`.
    `static <V extends VectorWritable2DType> V` | VectorM2D.`scale(VectorReadable2DType v, double r, V out)` Scale the vector `v` by the scalar `r`, saving the result to `out`.
    `static <V extends VectorWritable2DType & VectorReadable2DType> V` | VectorM2D.`scaleInPlace(V v, double r)` Scale the vector `v` by the scalar `r`, saving the result to `v`.
    `static <V extends VectorWritable2DType> V` | VectorM2D.`subtract(VectorReadable2DType v0, VectorReadable2DType v1, V out)` Subtract the vector `v1` from the vector `v0`, saving the result to `out`.
    `static <V extends VectorWritable2DType & VectorReadable2DType> V` | VectorM2D.`subtractInPlace(V v0, VectorReadable2DType v1)` Subtract the vector `v1` from the vector `v0`, saving the result to `v0`.

  - ### Uses of VectorWritable2DType in com.io7m.jtensors.bytebuffered

    Subinterfaces of VectorWritable2DType in com.io7m.jtensors.bytebuffered
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `QuaternionByteBuffered4DType` The type of `Quaternion4DType` values that are also byte buffered.
    `interface` | `VectorByteBuffered2DType` The type of `Vector2DType` values that are also byte buffered.
    `interface` | `VectorByteBuffered3DType` The type of `Vector3DType` values that are also byte buffered.
    `interface` | `VectorByteBuffered4DType` The type of `Vector4DType` values that are also byte buffered.

    Classes in com.io7m.jtensors.bytebuffered that implement VectorWritable2DType
    Modifier and Type | Class and Description
    --- | ---
    `class` | `QuaternionByteBufferedM4D` A quaternion type with `double` elements, packed into a `ByteBuffer`.
    `class` | `VectorByteBufferedM2D` A two-element vector type with `double` elements, packed into a `ByteBuffer`.
    `class` | `VectorByteBufferedM3D` A three-element vector type with `double` elements, packed into a `ByteBuffer`.
    `class` | `VectorByteBufferedM4D` A four-element vector type with `double` elements, packed into a `ByteBuffer`.

    Methods in com.io7m.jtensors.bytebuffered with type parameters of type VectorWritable2DType
    Modifier and Type | Method and Description
    --- | ---
    `<V extends VectorWritable2DType> void` | MatrixByteBufferedM4x4D.`getRow2D(int row, V out)`
    `<V extends VectorWritable2DType> void` | MatrixByteBufferedM3x3D.`getRow2D(int row, V out)`
    `<V extends VectorWritable2DType> void` | MatrixByteBufferedM2x2D.`getRow2D(int row, V out)`
    `<V extends VectorWritable2DType> void` | MatrixByteBufferedM4x4D.`getRow2DUnsafe(int row, V out)`
    `<V extends VectorWritable2DType> void` | MatrixByteBufferedM3x3D.`getRow2DUnsafe(int row, V out)`
    `<V extends VectorWritable2DType> void` | MatrixByteBufferedM2x2D.`getRow2DUnsafe(int row, V out)`

  - ### Uses of VectorWritable2DType in com.io7m.jtensors.bytebuffered.parameterized

    Subinterfaces of VectorWritable2DType in com.io7m.jtensors.bytebuffered.parameterized
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `PVectorByteBuffered2DType<T>` The type of `PVector2DType` values that are also byte buffered.
    `interface` | `PVectorByteBuffered3DType<T>` The type of `PVector3DType` values that are also byte buffered.
    `interface` | `PVectorByteBuffered4DType<T>` The type of `PVector4DType` values that are also byte buffered.

    Classes in com.io7m.jtensors.bytebuffered.parameterized that implement VectorWritable2DType
    Modifier and Type | Class and Description
    --- | ---
    `class` | `PVectorByteBufferedM2D<T>` A two-element vector type with `double` elements, packed into a `ByteBuffer`.
    `class` | `PVectorByteBufferedM3D<T>` A three-element vector type with `double` elements, packed into a `ByteBuffer`.
    `class` | `PVectorByteBufferedM4D<T>` A four-element vector type with `double` elements, packed into a `ByteBuffer`.

    Methods in com.io7m.jtensors.bytebuffered.parameterized with type parameters of type VectorWritable2DType
    Modifier and Type | Method and Description
    --- | ---
    `<V extends VectorWritable2DType> void` | PMatrixByteBufferedM4x4D.`getRow2D(int row, V out)`
    `<V extends VectorWritable2DType> void` | PMatrixByteBufferedM3x3D.`getRow2D(int row, V out)`
    `<V extends VectorWritable2DType> void` | PMatrixByteBufferedM4x4D.`getRow2DUnsafe(int row, V out)`
    `<V extends VectorWritable2DType> void` | PMatrixByteBufferedM3x3D.`getRow2DUnsafe(int row, V out)`

  - ### Uses of VectorWritable2DType in com.io7m.jtensors.parameterized

    Subinterfaces of VectorWritable2DType in com.io7m.jtensors.parameterized
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `PVector2DType<T>` The type of two-element vectors that are both readable and writable, and have `double` elements
    `interface` | `PVector3DType<T>` The type of three-element vectors that are both readable and writable, and have `double` elements
    `interface` | `PVector4DType<T>` The type of four-element vectors that are both readable and writable, and have `double` elements
    `interface` | `PVectorWritable2DType<T>` 'Write' interface to two-dimensional vectors with `double` elements.
    `interface` | `PVectorWritable3DType<T>` 'Write' interface to three-dimensional vectors with `double` elements.
    `interface` | `PVectorWritable4DType<T>` 'Write' interface to four-dimensional vectors with `double` elements.

    Classes in com.io7m.jtensors.parameterized that implement VectorWritable2DType
    Modifier and Type | Class and Description
    --- | ---
    `class` | `PVectorM2D<T>` A two-dimensional mutable vector type with `double` elements.
    `class` | `PVectorM3D<T>` A three-dimensional mutable vector type with `double` elements.
    `class` | `PVectorM4D<T>` A four-dimensional mutable vector type with `double` elements.

    Methods in com.io7m.jtensors.parameterized with type parameters of type VectorWritable2DType
    Modifier and Type | Method and Description
    --- | ---
    `<V extends VectorWritable2DType> void` | PMatrixI4x4D.`getRow2D(int row, V out)`
    `<V extends VectorWritable2DType> void` | PMatrixI3x3D.`getRow2D(int row, V out)`
    `<V extends VectorWritable2DType> void` | PMatrixHeapArrayM4x4D.`getRow2D(int row, V out)`
    `<V extends VectorWritable2DType> void` | PMatrixHeapArrayM3x3D.`getRow2D(int row, V out)`
    `<V extends VectorWritable2DType> void` | PMatrixDirectM4x4D.`getRow2D(int row, V out)`
    `<V extends VectorWritable2DType> void` | PMatrixDirectM3x3D.`getRow2D(int row, V out)`
    `<V extends VectorWritable2DType> void` | PMatrixI4x4D.`getRow2DUnsafe(int row, V out)`
    `<V extends VectorWritable2DType> void` | PMatrixI3x3D.`getRow2DUnsafe(int row, V out)`
    `<V extends VectorWritable2DType> void` | PMatrixHeapArrayM4x4D.`getRow2DUnsafe(int row, V out)`
    `<V extends VectorWritable2DType> void` | PMatrixHeapArrayM3x3D.`getRow2DUnsafe(int row, V out)`
    `<V extends VectorWritable2DType> void` | PMatrixDirectM4x4D.`getRow2DUnsafe(int row, V out)`
    `<V extends VectorWritable2DType> void` | PMatrixDirectM3x3D.`getRow2DUnsafe(int row, V out)`

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