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

- Packages that use VectorReadable2FType
  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 VectorReadable2FType in com.io7m.jtensors

    Subinterfaces of VectorReadable2FType in com.io7m.jtensors
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `Quaternion4FType` The type of mutable quaternions with `float` elements.
    `interface` | `QuaternionReadable4FType` 'Read' interface to four-dimensional quaternions with `float` elements.
    `interface` | `Vector2FType` The type of two-element vectors that are both readable and writable, and have `float` elements
    `interface` | `Vector3FType` The type of three-element vectors that are both readable and writable, and have `float` elements
    `interface` | `Vector4FType` The type of four-element vectors that are both readable and writable, and have `float` elements
    `interface` | `VectorReadable3FType` 'Read' interface to three-dimensional vectors with `float` elements.
    `interface` | `VectorReadable4FType` 'Read' interface to four-dimensional vectors with `float` elements.

    Classes in com.io7m.jtensors that implement VectorReadable2FType
    Modifier and Type | Class and Description
    --- | ---
    `class` | `QuaternionI4F` A four-dimensional immutable quaternion type with `float` elements.
    `class` | `QuaternionM4F` A four-dimensional mutable quaternion type with `float` elements.
    `class` | `VectorI2F` A two-dimensional immutable vector type with `float` elements.
    `class` | `VectorI3F` A three-dimensional immutable vector type with `float` elements.
    `class` | `VectorI4F` A four-dimensional immutable vector type with `float` elements.
    `class` | `VectorM2F` A two-dimensional mutable vector type with `float` elements.
    `class` | `VectorM3F` A three-dimensional mutable vector type with `float` elements.
    `class` | `VectorM4F` A four-dimensional mutable vector type with `float` elements.

    Methods in com.io7m.jtensors with type parameters of type VectorReadable2FType
    Modifier and Type | Method and Description
    --- | ---
    `static <V extends VectorWritable2FType & VectorReadable2FType> V` | VectorM2F.`absoluteInPlace(V v)` Calculate the absolute values of the elements in vector `v`, modifying the vector in-place.
    `static <V extends VectorWritable2FType & VectorReadable2FType> V` | VectorM2F.`addInPlace(V v0, VectorReadable2FType v1)` Calculate the element-wise sum of the vectors `v0` and `v1`, saving the result to `v0`.
    `static <V extends VectorWritable2FType & VectorReadable2FType> V` | VectorM2F.`addScaledInPlace(V v0, VectorReadable2FType 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 VectorWritable2FType & VectorReadable2FType> V` | VectorM2F.`clampByVectorInPlace(V v, VectorReadable2FType minimum, VectorReadable2FType 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 VectorWritable2FType & VectorReadable2FType> V` | VectorM2F.`clampInPlace(V v, float minimum, float maximum)` Clamp the elements of the vector `v` to the range {@code [minimum ..
    `static <V extends VectorWritable2FType & VectorReadable2FType> V` | VectorM2F.`clampMaximumByVectorInPlace(V v, VectorReadable2FType 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 VectorWritable2FType & VectorReadable2FType> V` | VectorM2F.`clampMaximumInPlace(V v, float maximum)` Clamp the elements of the vector `v` to the range {@code [-Infinity ..
    `static <V extends VectorWritable2FType & VectorReadable2FType> V` | VectorM2F.`clampMinimumByVectorInPlace(V v, VectorReadable2FType 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 VectorWritable2FType & VectorReadable2FType> V` | VectorM2F.`clampMinimumInPlace(V v, float minimum)` Clamp the elements of the vector `v` to the range {@code [minimum ..
    `static <V extends VectorWritable2FType & VectorReadable2FType> V` | VectorM2F.`normalizeInPlace(V v)` Returns a vector with the same orientation as `v` but with magnitude equal to `1.0` in `v`.
    `static <V extends VectorReadable2FType,U extends VectorWritable2FType> void` | VectorM2F.`orthoNormalize(VectorM2F.ContextVM2F c, VectorReadable2FType v0, U v0_out, VectorReadable2FType v1, U v1_out)` Orthonormalize and return the vectors `v0` and `v1` .
    `static <V extends VectorWritable2FType & VectorReadable2FType,W extends VectorWritable2FType & VectorReadable2FType> void` | VectorM2F.`orthoNormalizeInPlace(VectorM2F.ContextVM2F c, V v0, W v1)` Orthonormalize and the vectors `v0` and `v1`.
    `static <V extends VectorWritable2FType & VectorReadable2FType,W extends VectorWritable2FType & VectorReadable2FType> void` | VectorM2F.`orthoNormalizeInPlace(VectorM2F.ContextVM2F c, V v0, W v1)` Orthonormalize and the vectors `v0` and `v1`.
    `static <V extends VectorWritable2FType & VectorReadable2FType> V` | VectorM2F.`scaleInPlace(V v, double r)` Scale the vector `v` by the scalar `r`, saving the result to `v`.
    `static <V extends VectorWritable2FType & VectorReadable2FType> V` | VectorM2F.`subtractInPlace(V v0, VectorReadable2FType v1)` Subtract the vector `v1` from the vector `v0`, saving the result to `v0`.

    Methods in com.io7m.jtensors with parameters of type VectorReadable2FType
    Modifier and Type | Method and Description
    --- | ---
    `static VectorI2F` | VectorI2F.`absolute(VectorReadable2FType v)` Calculate the absolute value of the vector `v`.
    `static <V extends VectorWritable2FType> V` | VectorM2F.`absolute(VectorReadable2FType v, V out)` Calculate the absolute values of the elements in vector `v`, saving the result to `out`.
    `static VectorI2F` | VectorI2F.`add(VectorReadable2FType v0, VectorReadable2FType v1)` Calculate the element-wise sum of the vectors `v0` and `v1`.
    `static <V extends VectorWritable2FType> V` | VectorM2F.`add(VectorReadable2FType v0, VectorReadable2FType v1, V out)` Calculate the element-wise sum of the vectors `v0` and `v1`, saving the result to `out`.
    `static <V extends VectorWritable2FType & VectorReadable2FType> V` | VectorM2F.`addInPlace(V v0, VectorReadable2FType v1)` Calculate the element-wise sum of the vectors `v0` and `v1`, saving the result to `v0`.
    `static VectorI2F` | VectorI2F.`addScaled(VectorReadable2FType v0, VectorReadable2FType v1, double r)` Calculate the element-wise sum of the vectors `v0` and the element-wise product of `v1` and `r`.
    `static <V extends VectorWritable2FType> V` | VectorM2F.`addScaled(VectorReadable2FType v0, VectorReadable2FType 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 VectorWritable2FType & VectorReadable2FType> V` | VectorM2F.`addScaledInPlace(V v0, VectorReadable2FType 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 boolean` | VectorM2F.`almostEqual(com.io7m.jequality.AlmostEqualFloat.ContextRelative context, VectorReadable2FType qa, VectorReadable2FType qb)` Determine whether or not the vectors `qa` and `qb` are equal to within the degree of error given in `context`.
    `static boolean` | VectorI2F.`almostEqual(com.io7m.jequality.AlmostEqualFloat.ContextRelative context, VectorReadable2FType qa, VectorReadable2FType qb)` Determine whether or not the vectors `qa` and `qb` are equal to within the degree of error given in `context`.
    `static double` | VectorM2F.`angle(VectorReadable2FType v0, VectorReadable2FType v1)` Calculate the angle between vectors `v0` and `v1`, in radians.
    `static double` | VectorI2F.`angle(VectorReadable2FType v0, VectorReadable2FType v1)` Calculate the angle between the vectors `v0` and `v1` in radians.
    `static VectorI2F` | VectorI2F.`clamp(VectorReadable2FType v, float minimum, float maximum)` Clamp the elements of the vector `v` to the range {@code [minimum ..
    `static <V extends VectorWritable2FType> V` | VectorM2F.`clamp(VectorReadable2FType v, float minimum, float maximum, V out)` Clamp the elements of the vector `v` to the range {@code [minimum ..
    `static VectorI2F` | VectorI2F.`clampByVector(VectorReadable2FType v, VectorReadable2FType minimum, VectorReadable2FType maximum)` Clamp the elements of the vector `v` to the inclusive range given by the corresponding elements in `minimum` and `maximum`.
    `static <V extends VectorWritable2FType> V` | VectorM2F.`clampByVector(VectorReadable2FType v, VectorReadable2FType minimum, VectorReadable2FType 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 VectorWritable2FType & VectorReadable2FType> V` | VectorM2F.`clampByVectorInPlace(V v, VectorReadable2FType minimum, VectorReadable2FType 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 VectorI2F` | VectorI2F.`clampMaximum(VectorReadable2FType v, float maximum)` Clamp the elements of the vector `v` to the range {@code [-Infinity ..
    `static <V extends VectorWritable2FType> V` | VectorM2F.`clampMaximum(VectorReadable2FType v, float maximum, V out)` Clamp the elements of the vector `v` to the range {@code [-Infinity ..
    `static VectorI2F` | VectorI2F.`clampMaximumByVector(VectorReadable2FType v, VectorReadable2FType maximum)` Clamp the elements of the vector `v` to the inclusive range given by the corresponding elements in `maximum`.
    `static <V extends VectorWritable2FType> V` | VectorM2F.`clampMaximumByVector(VectorReadable2FType v, VectorReadable2FType 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 VectorWritable2FType & VectorReadable2FType> V` | VectorM2F.`clampMaximumByVectorInPlace(V v, VectorReadable2FType 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 VectorI2F` | VectorI2F.`clampMinimum(VectorReadable2FType v, float minimum)` Clamp the elements of the vector `v` to the range {@code [minimum ..
    `static <V extends VectorWritable2FType> V` | VectorM2F.`clampMinimum(VectorReadable2FType v, float minimum, V out)` Clamp the elements of the vector `v` to the range {@code [minimum ..
    `static VectorI2F` | VectorI2F.`clampMinimumByVector(VectorReadable2FType v, VectorReadable2FType minimum)` Clamp the elements of the vector `v` to the inclusive range given by the corresponding elements in `minimum`.
    `static <V extends VectorWritable2FType> V` | VectorM2F.`clampMinimumByVector(VectorReadable2FType v, VectorReadable2FType 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 VectorWritable2FType & VectorReadable2FType> V` | VectorM2F.`clampMinimumByVectorInPlace(V v, VectorReadable2FType 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 VectorWritable2FType> V` | VectorM2F.`copy(VectorReadable2FType input, V output)` Copy all elements of the vector `input` to the vector `output`.
    `void` | VectorWritable2FType.`copyFrom2F(VectorReadable2FType in_v)` Set the current vector to the contents of the input vector.
    `void` | VectorM4F.`copyFrom2F(VectorReadable2FType in_v)`
    `void` | VectorM3F.`copyFrom2F(VectorReadable2FType in_v)`
    `void` | VectorM2F.`copyFrom2F(VectorReadable2FType in_v)`
    `void` | QuaternionM4F.`copyFrom2F(VectorReadable2FType in_v)`
    `static double` | VectorM2F.`distance(VectorM2F.ContextVM2F c, VectorReadable2FType v0, VectorReadable2FType v1)` Calculate the distance between the two vectors `v0` and `v1`.
    `static double` | VectorI2F.`distance(VectorReadable2FType v0, VectorReadable2FType v1)` Calculate the distance between the two vectors `v0` and `v1`.
    `static float` | VectorM2F.`dotProduct(VectorReadable2FType v0, VectorReadable2FType v1)` Calculate the scalar product of the vectors `v0` and `v1`.
    `static double` | VectorI2F.`dotProduct(VectorReadable2FType v0, VectorReadable2FType v1)` Calculate the scalar product of the vectors `v0` and `v1`.
    `static <V extends VectorWritable2FType> V` | VectorM2F.`interpolateLinear(VectorM2F.ContextVM2F c, VectorReadable2FType v0, VectorReadable2FType v1, double alpha, V r)` Linearly interpolate between `v0` and `v1` by the amount `alpha`, saving the result to `r`.
    `static VectorI2F` | VectorI2F.`interpolateLinear(VectorReadable2FType v0, VectorReadable2FType v1, float alpha)` Linearly interpolate between `v0` and `v1` by the amount `alpha`.
    `static double` | VectorM2F.`magnitude(VectorReadable2FType v)` Calculate the magnitude of the vector `v`.
    `static double` | VectorI2F.`magnitude(VectorReadable2FType v)` Calculate the magnitude of the vector `v`.
    `static double` | VectorM2F.`magnitudeSquared(VectorReadable2FType v)` Calculate the squared magnitude of the vector `v`.
    `static double` | VectorI2F.`magnitudeSquared(VectorReadable2FType v)` Calculate the squared magnitude of the vector `v`.
    `static <M extends MatrixWritable3x3FType> M` | MatrixM3x3F.`makeTranslation2F(VectorReadable2FType v, M out)` Create a translation matrix that represents a translation by the vector `v`, writing the resulting matrix to `out`.
    `static <M extends MatrixWritable4x4FType> M` | MatrixM4x4F.`makeTranslation2F(VectorReadable2FType v, M out)` Generate a matrix that represents a translation of `(v.x, v.y)` from the origin, and save to `out`.
    `static <V extends VectorWritable2FType> V` | MatrixM2x2F.`multiplyVector2F(MatrixM2x2F.ContextMM2F c, MatrixReadable2x2FType m, VectorReadable2FType v, V out)` Multiply the matrix `m` with the vector `v`, writing the resulting vector to `out`.
    `static MatrixI2x2F` | MatrixI2x2F.`newFromColumns(VectorReadable2FType column_0, VectorReadable2FType column_1)` Construct a new immutable 2x2 matrix from the given columns.
    `static VectorI2F` | VectorI2F.`normalize(VectorReadable2FType v)` Normalize the vector `v`, preserving its direction but reducing it to unit length.
    `static <V extends VectorWritable2FType> V` | VectorM2F.`normalize(VectorReadable2FType v, V out)` Returns a vector with the same orientation as `v` but with magnitude equal to `1.0` in `out`.
    `static <V extends VectorReadable2FType,U extends VectorWritable2FType> void` | VectorM2F.`orthoNormalize(VectorM2F.ContextVM2F c, VectorReadable2FType v0, U v0_out, VectorReadable2FType v1, U v1_out)` Orthonormalize and return the vectors `v0` and `v1` .
    `static com.io7m.jfunctional.Pair<VectorI2F,VectorI2F>` | VectorI2F.`orthoNormalize(VectorReadable2FType v0, VectorReadable2FType v1)` Orthonormalize and return the vectors `v0` and `v1` .
    `static VectorI2F` | VectorI2F.`projection(VectorReadable2FType p, VectorReadable2FType q)` Calculate the projection of the vector `p` onto the vector `q`.
    `static <V extends VectorWritable2FType> V` | VectorM2F.`projection(VectorReadable2FType p, VectorReadable2FType q, V r)` Calculate the projection of the vector `p` onto the vector `q`, saving the result in `r`.
    `static VectorI2F` | VectorI2F.`scale(VectorReadable2FType v, double r)` Scale the vector `v` by the scalar `r`.
    `static <V extends VectorWritable2FType> V` | VectorM2F.`scale(VectorReadable2FType v, double r, V out)` Scale the vector `v` by the scalar `r`, saving the result to `out`.
    `void` | MatrixWritable2x2FType.`setRowWith2F(int row, VectorReadable2FType v)` Set row `row` of the matrix to `v`.
    `void` | MatrixHeapArrayM4x4F.`setRowWith2F(int row, VectorReadable2FType v)`
    `void` | MatrixHeapArrayM3x3F.`setRowWith2F(int row, VectorReadable2FType v)`
    `void` | MatrixHeapArrayM2x2F.`setRowWith2F(int row, VectorReadable2FType v)`
    `void` | MatrixDirectM4x4F.`setRowWith2F(int row, VectorReadable2FType v)`
    `void` | MatrixDirectM3x3F.`setRowWith2F(int row, VectorReadable2FType v)`
    `void` | MatrixDirectM2x2F.`setRowWith2F(int row, VectorReadable2FType v)`
    `void` | MatrixWritable2x2FType.`setRowWith2FUnsafe(int row, VectorReadable2FType v)` Set row `row` of the matrix to `v`.
    `void` | MatrixHeapArrayM4x4F.`setRowWith2FUnsafe(int row, VectorReadable2FType v)`
    `void` | MatrixHeapArrayM3x3F.`setRowWith2FUnsafe(int row, VectorReadable2FType v)`
    `void` | MatrixHeapArrayM2x2F.`setRowWith2FUnsafe(int row, VectorReadable2FType v)`
    `void` | MatrixDirectM4x4F.`setRowWith2FUnsafe(int row, VectorReadable2FType v)`
    `void` | MatrixDirectM3x3F.`setRowWith2FUnsafe(int row, VectorReadable2FType v)`
    `void` | MatrixDirectM2x2F.`setRowWith2FUnsafe(int row, VectorReadable2FType v)`
    `static VectorI2F` | VectorI2F.`subtract(VectorReadable2FType v0, VectorReadable2FType v1)` Subtract the vector `v1` from the vector `v0`.
    `static <V extends VectorWritable2FType> V` | VectorM2F.`subtract(VectorReadable2FType v0, VectorReadable2FType v1, V out)` Subtract the vector `v1` from the vector `v0`, saving the result to `out`.
    `static <V extends VectorWritable2FType & VectorReadable2FType> V` | VectorM2F.`subtractInPlace(V v0, VectorReadable2FType v1)` Subtract the vector `v1` from the vector `v0`, saving the result to `v0`.

    Constructors in com.io7m.jtensors with parameters of type VectorReadable2FType
    Constructor and Description
    `VectorI2F(VectorReadable2FType in_v)` Construct a vector initialized with the values given in the vector `v`.
    `VectorM2F(VectorReadable2FType in_v)` Construct a vector initialized with the values given in the vector `in_v`.

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

    Subinterfaces of VectorReadable2FType in com.io7m.jtensors.bytebuffered
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `QuaternionByteBuffered4FType` The type of `Quaternion4FType` values that are also byte buffered.
    `interface` | `VectorByteBuffered2FType` The type of `Vector2FType` values that are also byte buffered.
    `interface` | `VectorByteBuffered3FType` The type of `Vector3FType` values that are also byte buffered.
    `interface` | `VectorByteBuffered4FType` The type of `Vector4FType` values that are also byte buffered.

    Classes in com.io7m.jtensors.bytebuffered that implement VectorReadable2FType
    Modifier and Type | Class and Description
    --- | ---
    `class` | `QuaternionByteBufferedM4F` A quaternion type with `float` elements, packed into a `ByteBuffer`.
    `class` | `VectorByteBufferedM2F` A two-element vector type with `float` elements, packed into a `ByteBuffer`.
    `class` | `VectorByteBufferedM3F` A four-element vector type with `float` elements, packed into a `ByteBuffer`.
    `class` | `VectorByteBufferedM4F` A four-element vector type with `float` elements, packed into a `ByteBuffer`.

    Methods in com.io7m.jtensors.bytebuffered with parameters of type VectorReadable2FType
    Modifier and Type | Method and Description
    --- | ---
    `void` | VectorByteBufferedM4F.`copyFrom2F(VectorReadable2FType in_v)`
    `void` | VectorByteBufferedM3F.`copyFrom2F(VectorReadable2FType in_v)`
    `void` | VectorByteBufferedM2F.`copyFrom2F(VectorReadable2FType in_v)`
    `void` | QuaternionByteBufferedM4F.`copyFrom2F(VectorReadable2FType in_v)`
    `void` | MatrixByteBufferedM4x4F.`setRowWith2F(int row, VectorReadable2FType v)`
    `void` | MatrixByteBufferedM3x3F.`setRowWith2F(int row, VectorReadable2FType v)`
    `void` | MatrixByteBufferedM2x2F.`setRowWith2F(int row, VectorReadable2FType v)`
    `void` | MatrixByteBufferedM4x4F.`setRowWith2FUnsafe(int row, VectorReadable2FType v)`
    `void` | MatrixByteBufferedM3x3F.`setRowWith2FUnsafe(int row, VectorReadable2FType v)`
    `void` | MatrixByteBufferedM2x2F.`setRowWith2FUnsafe(int row, VectorReadable2FType v)`

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

    Subinterfaces of VectorReadable2FType in com.io7m.jtensors.bytebuffered.parameterized
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `PVectorByteBuffered2FType<T>` The type of `PVector2FType` values that are also byte buffered.
    `interface` | `PVectorByteBuffered3FType<T>` The type of `PVector3FType` values that are also byte buffered.
    `interface` | `PVectorByteBuffered4FType<T>` The type of `PVector4FType` values that are also byte buffered.

    Classes in com.io7m.jtensors.bytebuffered.parameterized that implement VectorReadable2FType
    Modifier and Type | Class and Description
    --- | ---
    `class` | `PVectorByteBufferedM2F<T>` A two-element vector type with `float` elements, packed into a `ByteBuffer`.
    `class` | `PVectorByteBufferedM3F<T>` A four-element vector type with `float` elements, packed into a `ByteBuffer`.
    `class` | `PVectorByteBufferedM4F<T>` A four-element vector type with `float` elements, packed into a `ByteBuffer`.

    Methods in com.io7m.jtensors.bytebuffered.parameterized with parameters of type VectorReadable2FType
    Modifier and Type | Method and Description
    --- | ---
    `void` | PVectorByteBufferedM4F.`copyFrom2F(VectorReadable2FType in_v)`
    `void` | PVectorByteBufferedM3F.`copyFrom2F(VectorReadable2FType in_v)`
    `void` | PVectorByteBufferedM2F.`copyFrom2F(VectorReadable2FType in_v)`
    `void` | PMatrixByteBufferedM4x4F.`setRowWith2F(int row, VectorReadable2FType v)`
    `void` | PMatrixByteBufferedM3x3F.`setRowWith2F(int row, VectorReadable2FType v)`
    `void` | PMatrixByteBufferedM4x4F.`setRowWith2FUnsafe(int row, VectorReadable2FType v)`
    `void` | PMatrixByteBufferedM3x3F.`setRowWith2FUnsafe(int row, VectorReadable2FType v)`

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

    Subinterfaces of VectorReadable2FType in com.io7m.jtensors.parameterized
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `PVector2FType<T>` The type of two-element vectors that are both readable and writable, and have `float` elements
    `interface` | `PVector3FType<T>` The type of three-element vectors that are both readable and writable, and have `float` elements
    `interface` | `PVector4FType<T>` The type of four-element vectors that are both readable and writable, and have `float` elements
    `interface` | `PVectorReadable2FType<T>` 'Read' interface to phantom-typed two-dimensional vectors with single precision elements.
    `interface` | `PVectorReadable3FType<T>` 'Read' interface to phantom-typed three-dimensional vectors with single precision elements.
    `interface` | `PVectorReadable4FType<T>` 'Read' interface to phantom-typed four-dimensional vectors with single precision elements.

    Classes in com.io7m.jtensors.parameterized that implement VectorReadable2FType
    Modifier and Type | Class and Description
    --- | ---
    `class` | `PVectorI2F<T>` A two-dimensional immutable vector type with `float` elements.
    `class` | `PVectorI3F<T>` A three-dimensional immutable vector type with `float` elements.
    `class` | `PVectorI4F<T>` A four-dimensional immutable vector type with `float` elements.
    `class` | `PVectorM2F<T>` A two-dimensional mutable vector type with `float` elements.
    `class` | `PVectorM3F<T>` A three-dimensional mutable vector type with `float` elements.
    `class` | `PVectorM4F<T>` A four-dimensional mutable vector type with `float` elements.

    Methods in com.io7m.jtensors.parameterized with parameters of type VectorReadable2FType
    Modifier and Type | Method and Description
    --- | ---
    `void` | PVectorM4F.`copyFrom2F(VectorReadable2FType in_v)`
    `void` | PVectorM3F.`copyFrom2F(VectorReadable2FType in_v)`
    `void` | PVectorM2F.`copyFrom2F(VectorReadable2FType in_v)`
    `void` | PMatrixHeapArrayM4x4F.`setRowWith2F(int row, VectorReadable2FType v)`
    `void` | PMatrixHeapArrayM3x3F.`setRowWith2F(int row, VectorReadable2FType v)`
    `void` | PMatrixDirectM4x4F.`setRowWith2F(int row, VectorReadable2FType v)`
    `void` | PMatrixDirectM3x3F.`setRowWith2F(int row, VectorReadable2FType v)`
    `void` | PMatrixHeapArrayM4x4F.`setRowWith2FUnsafe(int row, VectorReadable2FType v)`
    `void` | PMatrixHeapArrayM3x3F.`setRowWith2FUnsafe(int row, VectorReadable2FType v)`
    `void` | PMatrixDirectM4x4F.`setRowWith2FUnsafe(int row, VectorReadable2FType v)`
    `void` | PMatrixDirectM3x3F.`setRowWith2FUnsafe(int row, VectorReadable2FType v)`

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